我如何使用Python在运行时检测到Teraterm登录中出现的特殊单词

我将teraterm用作客户端控制台,并将控制台日志保存在某处。

当我打开Teraterm并在COM1串行端口(与设备连接)上进行操作时,它将在屏幕上打印消息并同时写入日志文件,

如果我想看日志,可以检测是否出现特殊的单词。

我以为如果使用“打开”方法,只能在打开时间获取全部内容,而不能在打开时间后获取第三期写的最新内容吗?


慕的地6264312
浏览 248回答 3
3回答

饮歌长啸

定期检查文件大小:import osimport timelog_path = '/tmp/com1.log'special_word = 'magic'lastsize = 0while 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的宏语言提供了wait系列功能,以等待特定的单词(或)模式序列。请注意,teraterm宏语言不是python,但是它具有自己的语法。; wait for special world 'hello'wait 'hello'if result == 0 goto your_own_logic还有其他方法,如果您想拥有仅适用于python的解决方案。您可以使用pyserial python库与串行端口连接,而不是使用teraterm与串行端口连接。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python