我面臨着一定的問題,而試圖從目錄中打開文件的目錄中打開某些文件(目錄提供的命令行)從使用Ruby
我的代碼如下:
require 'optparse'
OptionParser.new do |opts|
opts.banner = "Usage: rubyfile.rb [options]"
options[:c] = ""
opts.on('-c', '--dir DILE', "Specify Directory with input files") do |e|
options[:c] = e
end
options[:o] = ""
opts.on('-o', '--dir DILE', "Specify Output file") do |f|
options[:c] = f
end
end.parse!
out_file = File.open(options[:o], "a")
dir_open = Dir.open(options[:c])
Dir.foreach(dir_open) do | in_file |
next if File.directory? in_file
if(in_file.include? ".txt")
input_file = File.open(in_file, "r")
File.foreach(input_file).with_index do | line, line_s |
puts line
end
end
end
如果我嘗試使用puts in_file打印出文件名,它就可以工作。但是,當我嘗試打開文件並轉儲它的內容時,它不會。
我知道我錯過了這裏的東西,但無法確定它是什麼。
我能夠通過將當前路徑保存在變量中,然後使用'Dir.chdir()'將執行目錄更改爲dir_open來完成。 一旦我完成我的處理,改回當前路徑。 我想知道是否有任何其他優雅的方式來處理? –