如果Ruby不存在,则创建目录

路易吉

我正在尝试使用以下代码创建目录:

Dir.mkdir("/Users/Luigi/Desktop/Survey_Final/Archived/Survey/test")
    unless File.exists?("/Users/Luigi/Desktop/Survey_Final/Archived/Survey/test")  

但是,我收到此错误:

没有这样的文件或目录-/ Users / Luigi / Desktop / Survey_Final / Archived / Survey / test(Errno :: ENOENT)

为什么Dir.mkdir上面语句没有创建该目录

zrl3dx

您可能正在尝试创建嵌套目录。假设foo不存在,您将收到以下no such file or directory错误:

Dir.mkdir 'foo/bar'
# => Errno::ENOENT: No such file or directory - 'foo/bar'

要立即创建嵌套目录,FileUtils需要:

require 'fileutils'
FileUtils.mkdir_p 'foo/bar'
# => ["foo/bar"]

Edit2:您不必使用FileUtils,您可以进行系统调用(从@mu更新太短的注释):

> system 'mkdir', '-p', 'foo/bar' # worse version: system 'mkdir -p "foo/bar"'
=> true

但这(至少对我来说)似乎是使用外部“工具”的更糟糕的方法,这种方法在某些系统上可能不可用(尽管我很难想象没有mkdir,但是谁知道)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果目录不存在,如何创建?

创建目录(如果不存在)

如果在Ruby中使用File类不存在目录,如何创建目录?

如果目录不存在,如何创建创建目录的目标?

如果目录不存在,如何递归创建目录?

如果目录不存在,该如何创建目录?

检查目录是否存在,如果不存在则创建

Ant:scp创建目录(如果不存在)

Python pathlib创建目录(如果不存在)

使用mogrify -path命令创建目录(如果不存在)

Mkdir创建父目录(如果不存在)

Linux:复制并创建目标目录(如果不存在)

如果不存在,Shell 脚本创建目录

如果不存在,如何使用Browserify创建新目录?

文件上传:如果不存在,则创建目录

Shell脚本-创建目录(如果不存在)

VBA检查目录是否存在,如果存在退出子,否则不存在,创建

如果 Pillow 不存在,则在该目录中创建目录

scp是否可以创建目录(如果该目录不存在)?

如果使用Node.js不存在目录,如何创建目录?

使用JSch将文件放入远程目录,如果该目录不存在,则创建它

如果目录不存在,是否有更安全的方法来创建目录?

将tar.gz文件解压缩到目录并创建目录(如果不存在)

如果目录不存在,则使用bash在HDFS中创建目录

使用test命令创建目录(如果该目录不存在)

检查目标目录是否存在,如果不存在则进行创建,然后再进行

SQLAlchemy:“创建架构(如果不存在)”

雄辩的:如果不存在则创建关系

创建子对象(如果不存在)