我正在使用Python创建一个实时跟踪日志文件的程序,我的代码如下:
import time
with open('/Users/alexandrelara/Library/Logs/Unity/Player.log') as f:
while True:
line = f.readline()
if line:
if line.startswith('[Zone]') and "tag=PLAYSTATE value=LOSING" in line:
print(line)
time.sleep(1)
continue
问题是Python进程正在使用大约100%的CPU,正如您在此图像中看到的那样:
让线程休眠1秒没有帮助,高于此值的值不会给我我想要的结果,因为它是一个游戏日志,每个动作都会在日志中产生很多行。
有没有办法改善CPU使用率?或者我不应该使用Python吗?
答案 0 :(得分:5)
尝试在else块上使用sleep:
import time
with open('/Users/alexandrelara/Library/Logs/Unity/Player.log') as f:
while True:
line = f.readline()
if line:
if line.startswith('[Zone]') and "tag=PLAYSTATE value=LOSING" in line:
print(line)
else:
time.sleep(1)