5
這是我在rake任務代碼打開一個文件:Rails.root文件路徑通配符
File.open(Rails.root.join("public/system/xmls/**/original/*.csv"),"r") do |file|
#etc
,但它不匹配任何文件(有三種可能的結果)。第一個**是一個2位數名稱的文件夾。我哪裏錯了?
這是我在rake任務代碼打開一個文件:Rails.root文件路徑通配符
File.open(Rails.root.join("public/system/xmls/**/original/*.csv"),"r") do |file|
#etc
,但它不匹配任何文件(有三種可能的結果)。第一個**是一個2位數名稱的文件夾。我哪裏錯了?
join
方法通常不擴展*
和**
,但將它們作爲文字。也許這是問題所在。你想要的可能更像這樣:
Dir.glob(Rails.root.join("public/system/xmls/**/original/*.csv")).each do |path|
File.open(path) do |file|
# ...
end
end
單獨打開每個文件,你應該沒問題。
天才。它完美的作品。謝謝! – snowangel
匿名用戶評論(拒絕編輯):爲了遍歷每一行,用'File.open(path).each'替換'File.open(path)'。 – Anne