我想使用Ruby从一个文件夹中获得所有文件名。
当前回答
如果你用空格创建目录:
mkdir "a b"
touch "a b/c"
你不需要转义目录名,它会自动完成:
p Dir["a b/*"] # => ["a b/c"]
其他回答
Dir.entries(folder)
例子:
Dir.entries(".")
来源:http://ruby-doc.org/core/classes/Dir.html method-c-entries
这是对我有效的方法:
Dir.entries(dir).select { |f| File.file?(File.join(dir, f)) }
Dir。Entries返回一个字符串数组。然后,我们必须提供文件的完整路径file .file?,除非dir等于我们当前的工作目录。这就是File.join()的原因。
Dir.new('/home/user/foldername').each { |file| puts file }
您还有快捷方式选项
Dir["/path/to/search/*"]
如果你想在任何文件夹或子文件夹中找到所有Ruby文件:
Dir["/path/to/search/**/*.rb"]
如果你用空格创建目录:
mkdir "a b"
touch "a b/c"
你不需要转义目录名,它会自动完成:
p Dir["a b/*"] # => ["a b/c"]
推荐文章
- 如何可靠地打开与当前运行脚本在同一目录下的文件
- 在c#中从URI字符串获取文件名
- 如何找到包含匹配值的哈希键
- 如何在Rails中找到当前的路由?
- 将列表的Python列表写入csv文件
- 在Ruby中->运算符叫什么?
- Rails参数解释?
- Ruby中DateTime和Time的区别
- 如何从代理服务器后面更新Ruby Gems (ISA-NTLM)
- 如何用另一个键替换哈希键
- 如何使用Bash创建一个文件夹,如果它还不存在?
- attr_accessor和attr_accessible的区别
- 如何从Ruby文件路径中获得没有扩展名的文件名
- rvm安装失败:“rvm不是一个函数”
- 学习Ruby on Rails