在DIR上删除文件路径

时间:2011-10-18 19:55:43

标签: ruby

我在分割文件路径和获取文件名时遇到问题。

这是我的代码:

file=File.new("files.txt", "w")
file_list=Dir["../path/*txt"]

file.puts file_list

我尝试了几种不同的方法来分割它,但我不断收到数组错误,

最诚挚的问候,

AZCards

3 个答案:

答案 0 :(得分:2)

请尝试以下代码段:

file = File.new("files.txt", "w")
Dir['../path/*.txt'].each { |f| file.puts File.basename(f, '.txt') }

这将为您提供指定文件夹中没有“txt”扩展名的文件名列表。

答案 1 :(得分:0)

file=File.new("files.txt", "w")
Dir.entries("/path/to/directory").each do |path|
   m = /([^\/]+)\.txt$/.match(path)
   file.puts m[1] if m
end

答案 2 :(得分:0)

使用basename映射完整路径列表,生成裸文件名列表。 假设您可以删除扩展名:

file = File.new("files.txt", "w")
file_list = Dir["../path/*txt"].map {|f| File.basename f, '.txt'}

file.puts file_list