我有一个人们正在聊天的IRC客户端,当我播放我的桌面时。我想在我的广播中展示这个,并找到一个方便的冲击波闪存标题插件,可以读取文本文件并在屏幕上显示它们。
我的IRC客户端使用python脚本,并且每次有人编写消息时都可以调用函数。
我可以将这些文本行写入文本文件,但是我希望在python中有一些编码方式,当文件中有超过“说4”行的文本时,它会在添加下一行时删除顶部文本行之一。
我计划在调用追加行函数时读取文本文件,读取最后3行添加新行然后将其重新写入原始文件。
当然,当脚本第一次运行时,文件中应该少于3行,因此python也应该考虑到这一点,并且只读取最后的2或1或0取决于...
我尝试在之前的问题中编写一些代码,但它没有用,所以我不会在这里包含它。
答案 0 :(得分:0)
你不应该轻易放弃,你previous question接受的答案几乎已经完成了。
您只需要执行以下操作:
deque
获取最后几行,然后附加新行
(不要忘记使用新的行分隔符\n
)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)