如果在写入CSV文件时没有人存在,如何创建子目录?

时间:2016-10-01 12:40:46

标签: ruby csv

我正在创建一个这样的CSV文件:

    CSV.open("#{city}.csv", "a+") do |csv|
      csv << listing
    end

但是,理想情况下,如果该文件不存在,我想results/#{city}.csv

最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

require "fileutils"

csvfile= 'tmp/folder1/folder2/folder3/foo.csv'

FileUtils::mkdir_p File.dirname csvfile

mkdir_p是行gnu mkdir -p,它为您创建目录结构,如果目录已存在则不会抱怨。

dirname返回目录名称。

如果要在创建目录时指定权限,请执行以下操作:

FileUtils::mkdir_p( File.dirname(csvfile) , :mode => 0777)