我使用teraterm作为我的客户端控制台,并将控制台日志保存在某个地方。
当我打开teraterm并在我的COM1串行端口(与设备连接)上执行某些操作时,它将在屏幕上打印消息并同时写入日志文件。
如果我想查看日志,以检测是否有任何特殊的单词出现。
我想如果我使用"open“的方法,我只能在打开的时候获取全部内容,而不能在打开的时间之后获取teraterm编写的最新内容?
我怎样才能做到这一点呢?提前谢谢大家~
发布于 2013-06-18 12:28:29
定期检查文件大小:
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)发布于 2015-05-26 23:49:37
你可以使用teraterm的macro langauge,它允许开发人员扩展teraterm的行为。
对于您的特定情况,teraterm的宏语言提供了wait family函数来等待特定的单词序列(或)模式。请注意,teraterm宏语言不是python,但它有自己的语法。
; wait for special world 'hello'
wait 'hello'
if result == 0 goto your_own_logic如果你想要一个纯python的解决方案,还有其他的方法。可以使用pyserial python库进行串口连接,而不是使用teraterm进行串口连接。
https://stackoverflow.com/questions/17160259
复制相似问题