【问题标题】:Ruby File IO question; Maintain file read position between script executionsRuby 文件 IO 问题;在脚本执行之间保持文件读取位置
【发布时间】:2010-04-23 20:19:26
【问题描述】:

我有两个文件 a.txtb.txt(以下称为 ab)。

我的脚本遍历a,执行一些操作,然后可能b 中插入一行。

如果脚本停止,我需要它从中断的地方继续。在下面的例子中:

  1. foo 被复制到b
  2. 栏已复制到b
  3. zim 复制到 b(未通过某些条件)
  4. gaz 被复制到b
  5. 脚本停止(无论出于何种原因)

脚本再次启动时,如何打开a并在线启动"dib"

a.txt

foo
bar
zim
gaz      // <= last successful copy
dib      // <= I want to start here on next script execution
gir

b.txt

foo
bar
gaz      // <= note omission of "zim" above gaz

注意:

a.txt 将近 1,000,000 行

【问题讨论】:

  • 您可以创建第三个文件 a.txt.ln 并存储行号以在 a.txt 的执行过程中保持不变。然后,当脚本正常完成后,删除a.txt.ln
  • Jim,那么如何从特定行开始打开a.txt

标签: ruby text file-io parsing


【解决方案1】:

嘿 Macek - 您可以使用 seek 来查找原始文件中的行。查看 IO#seek http://ruby-doc.org/core/classes/IO.html#M002280

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-22
    • 2022-08-15
    • 1970-01-01
    • 2013-01-19
    • 2013-04-10
    • 1970-01-01
    • 2015-05-01
    • 2012-04-13
    相关资源
    最近更新 更多