Ruby - 如何使用脚本输出编写新文件

时间:2010-03-13 05:08:20

标签: ruby

我有一个简单的脚本,可以进行一些搜索和替换。 基本上就是这样:

File.open("us_cities.yml", "r+") do |file|
  while line = file.gets
  "do find a replace"
  end
  "Here I want to write to a new file"
end

正如您所看到的,我想用输出写一个新文件。我怎么能这样做?

2 个答案:

答案 0 :(得分:34)

输出到新文件可以像这样(不要忘记第二个参数)

output = File.open( "outputfile.yml","w" )
output << "This is going to the output file"
output.close

所以在你的例子中,你可以这样做:

File.open("us_cities.yml", "r+") do |file|
  while line = file.gets
    "do find a replace"
  end
  output = File.open( "outputfile.yml", "w" )
  output << "Here I am writing to a new file"
  output.close      
end

如果要附加到文件,请确保将输出文件的开头放在循环之外。

答案 1 :(得分:6)

首先,您必须创建一个新文件,例如newfile.txt

然后将脚本更改为

File.open("us_cities.yml", "r+") do |file|
  new_file = File.new("newfile.txt", "r+")
  while line = file.gets
  new_file.puts "do find a replace"
  end
end

这将生成一个带有输出

的新文件