gpt4 book ai didi

python - 在两次打印输出中检查文本文件更新结果

转载 作者:太空宇宙 更新时间:2023-11-04 04:00:18 25 4
gpt4 key购买 nike

我有一个不断更新的文本文件 foo.txt。我只想在文件更新时阅读 foo.txt 的最后一行。我有一个 while 循环不断打开文件并检查它。在循环内,我有一些代码打印文件的最后一行,然后将其存储在 lastmsg.txt 中。在下一次迭代中,它检查文件的最后一行是否不等于 lastmsg.txt 中存储的内容。如果两个值不相等(文件已更新并添加了新行),它将打印文件中的最后一条消息。这是代码

import time
while True:
fileHandle = open ("foo.txt","r" )
lineList = fileHandle.readlines()
fileHandle.close()
msg = lineList[len(lineList)-1]
if(open("lastmsg.txt", "r").read() != msg):
f = open("lastmsg.txt", "w")
f.write(msg)
print(msg)
time.sleep(0.5)

这似乎可行,但是,它会打印两次 msg。所以如果abc被修改为文件,输出将是

abc
abc

最佳答案

我添加了 f.close() 行,之后,它只打印一次 msg。

import time
while True:
fileHandle = open ("foo.txt","r" )
lineList = fileHandle.readlines()
fileHandle.close()
msg = lineList[-1]
if(open("lastmsg.txt", "r").read() != msg):
f = open("lastmsg.txt", "w")
f.write(msg)
f.close() # <---- new line
print(msg)
time.sleep(0.5)

关于python - 在两次打印输出中检查文本文件更新结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58487434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com