Ruby下实现如果目录不存在时创建目录?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

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

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

错误:

No such file or directory - /Users/Luigi/Desktop/Survey_Final/Archived/Survey/test (Errno::ENOENT)

提问于
用户回答回答于

可能是嵌套目录的原因

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

要一次创建嵌套目录,FileUtils需要:

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

用户回答回答于

简单的方法:

directory_name = "name"
Dir.mkdir(directory_name) unless File.exists?(directory_name)

扫码关注云+社区