ファイルパスを分割してファイル名を取得する際に問題が発生しています。ここでDIRにファイルパスをドロップ
は私のコードです:
file=File.new("files.txt", "w")
file_list=Dir["../path/*txt"]
file.puts file_list
私はそれを分割するには、いくつかの異なる方法を試してみましたが、私はアレイエラーを得続ける、
よろしく、
AZCards
ファイルパスを分割してファイル名を取得する際に問題が発生しています。ここでDIRにファイルパスをドロップ
は私のコードです:
file=File.new("files.txt", "w")
file_list=Dir["../path/*txt"]
file.puts file_list
私はそれを分割するには、いくつかの異なる方法を試してみましたが、私はアレイエラーを得続ける、
よろしく、
AZCards
このスニペットを試してください:
file = File.new("files.txt", "w")
Dir['../path/*.txt'].each { |f| file.puts File.basename(f, '.txt') }
これは、 'txt'拡張子を持たない指定されたフォルダ内のファイル名のリストを提供します。
完璧、ありがとう! – azcards
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
basenameを使用して完全なパスのリストをマップすると、裸のファイル名のリストが生成されます。 拡張子を削除することができます:
file = File.new("files.txt", "w")
file_list = Dir["../path/*txt"].map {|f| File.basename f, '.txt'}
file.puts file_list
'files.txt'の内容は何ですか?指定されたすべてのファイルの内容(あなたの場合は '* .txt')が1つの大きな結果ファイルにマージされるのでしょうか? – WarHog
Files.txtには、そのディレクトリに.txtという末尾のファイルのリストが含まれています。実際には、これらのファイルのファイル名が必要です。 – azcards
「アレイエラー」はいつどのようになるのですか? – inger