如何使用Python在运行时检测RM日志中出现的特殊单词
我使用teraterm作为客户端控制台,并将控制台日志保存在某个位置 当我打开teraterm并在COM1串行端口(与设备相连)上执行操作时, 它将在屏幕上打印消息并同时写入日志文件 如果我想查看日志,检测是否出现任何特殊单词 我想如果我用“打开”的方法,我只能在打开的时间内得到全部内容,但不能在打开的时间后得到最新的内容 我怎样才能做到这一点?如何使用Python在运行时检测RM日志中出现的特殊单词,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我使用teraterm作为客户端控制台,并将控制台日志保存在某个位置 当我打开teraterm并在COM1串行端口(与设备相连)上执行操作时, 它将在屏幕上打印消息并同时写入日志文件 如果我想查看日志,检测是否出现任何特殊单词 我想如果我用“打开”的方法,我只能在打开的时间内得到全部内容,但不能在打开的时间后得到最新的内容 我怎样才能做到这一点? 提前感谢大家~定期检查文件大小: import os import time log_path = '/tmp/com1.log' special_
提前感谢大家~定期检查文件大小:
import os
import time
log_path = '/tmp/com1.log'
special_word = 'magic'
lastsize = 0
while 1:
if os.path.exists(log_path) and os.path.getsize(log_path) > lastsize:
with open(log_path) as f:
f.seek(lastsize)
for line in f:
if special_word in line:
print('Special word found')
lastsize = f.tell()
time.sleep(1)
您可以使用teraterm,它允许开发人员扩展teraterm的行为
对于您的特定情况,teraterm的宏语言提供了一系列函数来等待特定的单词(或)模式序列。请注意,teraterm宏语言不是python,但它有自己的语法
; wait for special world 'hello'
wait 'hello'
if result == 0 goto your_own_logic
如果您想要一个纯python的解决方案,还有其他方法。您可以使用python库连接串行端口,而不是使用teraterm连接串行端口 重复: