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

Поскольку Вы видите, что я хочу записать новый файл с выводом. Как я могу сделать это?

24
задан thenengah 13 March 2010 в 05:08
поделиться

2 ответа

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

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

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

36
ответ дан 28 November 2019 в 23:34
поделиться

Сначала вам нужно создать новый файл, например 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

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

{ {1}}
6
ответ дан 28 November 2019 в 23:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: