【发布时间】:2020-11-24 15:32:06
【问题描述】:
我想“轮询”文件以进行更改。
以下代码在 macOS 10.15.7 和 Python 3.8.6 上运行良好,但在 Debian 9 和 Python 3.7.3 上运行良好。在 Debian 上,当我向要合并的文件添加新行时,它没有被识别并继续打印检查..
from time import sleep
from datetime import datetime
wait = 1
with open('file.log') as fp:
exit_pooling = False
while not exit_pooling:
print("*** check " + str(datetime.now()))
line = fp.readline()
if not line:
sleep(wait)
continue
else:
print('process line')
谢谢!
【问题讨论】:
-
“池化”文件是什么意思?您指的是“投票”吗?
-
目前您的代码中没有退出循环的机制。
exit_pooling将持续保持 False。 -
也许你应该先在 Debian 中升级你的 python。
-
我的意思是投票,我的错。脚本将连续运行,exit_pooling 作为变量只是用于在循环期间进行更好的控制,以防它稍后因某种原因被终止。我无法在 Debian 9 上更新 Python,因为没有可用的反向端口(它是一个托管服务器,所以宿主不喜欢通过源代码构建)
标签: python python-3.x linux debian eof