【问题标题】:How to write to a specific line in a text file using ruby如何使用 ruby​​ 写入文本文件中的特定行
【发布时间】:2015-04-29 10:10:57
【问题描述】:

好的,所以我有一个 ruby​​ 文件和一个文本文件。代码是这样的:

fname = "sample.txt"
somefile = File.open(fname, "a")
somefile.puts "Hello file!"
somefile.close

所以我想做的不是将其添加到文件末尾,而是将其添加到特定行。文本文件如下所示:

names
kyle
andrew
joshua
devon

所以我希望能够在“kyle”和“andrew”之间插入文本,每个文本都在单独的行上。请帮忙

【问题讨论】:

标签: ruby file text file-writing


【解决方案1】:

随机访问是只读的,如果你想写一个随机行:

  • 读取文件
  • 找到要附加文本的行
  • 追加并写入一个新文件
require 'stringio'
tmp = StringIO.open
origin.each do |line|
  tmp<<line
  if line == 'kyle'
    tmp << 'new line !'
  end
end
tmp.seek 0
File.open(fname, "wb").write tmp.read

文件看起来像:

names
kyle
new line !
andrew
joshua
devon

【讨论】:

    猜你喜欢
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 2016-08-01
    相关资源
    最近更新 更多