首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python在运行时检测teraterm日志中出现的特殊字

如何使用Python在运行时检测teraterm日志中出现的特殊字
EN

Stack Overflow用户
提问于 2013-06-18 11:50:32
回答 2查看 1.7K关注 0票数 2

我使用teraterm作为我的客户端控制台,并将控制台日志保存在某个地方。

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

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

我想如果我使用"open“的方法,我只能在打开的时候获取全部内容,而不能在打开的时间之后获取teraterm编写的最新内容?

我怎样才能做到这一点呢?提前谢谢大家~

EN

回答 2

Stack Overflow用户

发布于 2013-06-18 12:28:29

定期检查文件大小:

代码语言:javascript
复制
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)
票数 0
EN

Stack Overflow用户

发布于 2015-05-26 23:49:37

你可以使用teraterm的macro langauge,它允许开发人员扩展teraterm的行为。

对于您的特定情况,teraterm的宏语言提供了wait family函数来等待特定的单词序列(或)模式。请注意,teraterm宏语言不是python,但它有自己的语法。

代码语言:javascript
复制
; wait for special world 'hello'
wait 'hello'
if result == 0 goto your_own_logic

如果你想要一个纯python的解决方案,还有其他的方法。可以使用pyserial python库进行串口连接,而不是使用teraterm进行串口连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17160259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档