如果python中有超过4行,则将文本行附加到文件并删除第一行

时间:2013-03-26 22:26:34

标签: python text line

我有一个人们正在聊天的IRC客户端,当我播放我的桌面时。我想在我的广播中展示这个,并找到一个方便的冲击波闪存标题插件,可以读取文本文件并在屏幕上显示它们。

我的IRC客户端使用python脚本,并且每次有人编写消息时都可以调用函数。

我可以将这些文本行写入文本文件,但是我希望在python中有一些编码方式,当文件中有超过“说4”行的文本时,它会在添加下一行时删除顶部文本行之一。

我计划在调用追加行函数时读取文本文件,读取最后3行添加新行然后将其重新写入原始文件。

当然,当脚本第一次运行时,文件中应该少于3行,因此python也应该考虑到这一点,并且只读取最后的2或1或0取决于...

我尝试在之前的问题中编写一些代码,但它没有用,所以我不会在这里包含它。

1 个答案:

答案 0 :(得分:0)

你不应该轻易放弃,你previous question接受的答案几乎已经完成了。

您只需要执行以下操作:

  1. 打开输入文件,使用deque获取最后几行,然后附加新行 (不要忘记使用新的行分隔符\n
  2. 将文件重新打开为输出文件并编写行集合。

  3. from collections import deque
    
    path = 'test.txt'
    
    with open(path, 'r') as file:
        lines = deque(file, 4)
        lines.append("\nthis is an additional line.")
    
    with open(path, 'w') as file:
        file.writelines(lines)