在rails上的ruby上读取目录中的文件

Adn*_*han 20 filenames ruby-on-rails

我是ruby on rails的新手,我想从指定的目录中读取文件名.任何人都可以建议代码或任何其他链接?

谢谢

Sto*_*bej 27

我建议你用 Dir.entries("target_dir")

请查看此处的文档


Sum*_*not 18

如果要获取数组中特定文件夹下的所有文件:

files = Dir.glob("#{Rails.root}/private/**/*")

#=> ["/home/demo/private/sample_test.ods", "/home/demo/private/sample_test_two.ods", "/home/demo/private/sample_test_three.ods", "/home/demo/private/sample_test_one.ods"]
Run Code Online (Sandbox Code Playgroud)


Dyl*_*kow 9

如果要提取已过滤的文件列表,还可以使用Dir.glob:

Dir.glob("*.rb")
# => ["application.rb", "environment.rb"]
Run Code Online (Sandbox Code Playgroud)


小智 5

你基本上可以得到文件名 File.basename(file)

Dir.glob("path").map{ |s| File.basename(s) }
Run Code Online (Sandbox Code Playgroud)


esc*_*nxr 5

对于 Ruby on Rails,您应该使用Rails.root.join,它\xe2\x80\x99s 更干净。

\n

files = Dir.glob(Rails.root.join(\xe2\x80\x98path\xe2\x80\x99, \xe2\x80\x98to\xe2\x80\x99, \xe2\x80\x98folder\xe2\x80\x99, '*'))

\n

然后你会得到一个带有文件路径的数组。

\n