gpt4 book ai didi

python - 仅从文件中获取新行

转载 作者:行者123 更新时间:2023-11-28 22:48:40 24 4
gpt4 key购买 nike

目前我有这段代码,但它读取所有行,然后用 while True 语句观察文件:

with open('/var/log/logfile.log') as f:
while True:
line = f.readline()
if not line:
time.sleep(1)
else:
print(line)

我实际上只需要在打开文件时检测到的行之后出现新行 - 谁能帮助我?也许还有比 while 语句更好的观察方式?

另一个问题是,在 Linux 机器上,脚本实际上锁定了文件,因此在我再次关闭脚本之前无法写入文件。在 OS X 上它工作正常。也可以有解决此问题的想法。

希望有人一直在研究类似的东西。

最佳答案

您最初可以完全读取文件,然后关闭它,并对其进行更改监控,该监控在下面使用轮询实现。

import time

filePath = '/var/log/logfile.log'

lastLine = None
with open(filePath,'r') as f:
while True:
line = f.readline()
if not line:
break
print(line)
lastLine = line

while True:
with open(filePath,'r') as f:
lines = f.readlines()
if lines[-1] != lastLine:
lastLine = lines[-1]
print(lines[-1])
time.sleep(1)

但您也可以使用如下所述的工具:Detect File Change Without Polling

关于python - 仅从文件中获取新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24818486/

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