实时解析日志时减少CPU使用量

2024-10-02 20:42:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用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,如图所示:

Python Process - CPU Usage

让线程休眠1秒是没有帮助的,一个高于这个值的值也不会给我我想要的结果,因为这是一个游戏日志,每一个操作都会在日志中产生很多行。在

有没有办法提高CPU的使用率?或者我不应该用Python来做这个吗?在


Tags: 文件代码import程序iftimewithline
1条回答
网友
1楼 · 发布于 2024-10-02 20:42:56

尝试在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)

相关问题 更多 >