![](/img/trans.png)
[英]How to get list of all files inside a folder on Google Drive using Google Drive api in ruby
[英]How to get all the filenames of the files inside a folder in Ruby
我有一个接受文件夹路径的方法,我想得到所有扩展名为'.yml'的文件名,并将它们添加到对象的哈希中,如下所示:
如果文件名是saved_file_1.yml - > {saved_file_1 => "saved_file_1.yml"}
使用Dir::glob
方法如下
Dir.glob("#{path}/*.yml").each_with_object({}) do |filename,hsh|
hsh[File.basename(filename,'.yml')] = filename
end
hash = {}
Dir["#{path}/*.yml"].each { |f| hash[File.basename(f,'.yml')] = f }
要获得匹配的文件用列表Dir.glob
得到目录和文件的列表File.extname
得到扩展名
Dir.glob(path_to_folder).select { |file| File.extname(file) == ".yml" }
要将它们转换为您问题中的哈希值,请使用File.basename
获取不带扩展名的文件名,并使用Enumerable#each_with_object
创建哈希对象
Dir.glob(path_to_folder).each_with_object({}) { |file, hash| hash[File.basename(file, ".yml")] = file }
其他方式:
Hash[(d = Dir["#{path}/*.yml"]).map { |f| File.basename(f,".yml") }.zip(d)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.