Ruby - Как написать новый файл с выводом из скрипта - PullRequest
22 голосов
/ 13 марта 2010

У меня есть простой скрипт, который выполняет поиск и замену. Это в основном это:

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 ]

34 голосов
/ 13 марта 2010

Вывод в новый файл можно сделать следующим образом (не забудьте второй параметр) :

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

Если вы хотите добавить файл, убедитесь, что вы открыли выходной файл за пределами цикла.

6 голосов
/ 13 марта 2010

Сначала вы должны создать новый файл, такой как 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

Это создаст новый файл с выводом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...