2

クライアント コンソールとして teraterm を使用し、コンソール ログをどこかに保存します。

teraterm を開いて COM1 シリアル ポート (デバイスに接続されている) で何かを行うと、メッセージが画面に出力され、同時にログ ファイルに書き込まれます。

ログを見たい場合は、特別な単語が発生したかどうかを検出します。

と思っていたのですが、「open」メソッドを使えば、開いた時点ではコンテンツ全体しか取得できないのですが、開いた時点以降にテラタームが書き込んだ最新のコンテンツを取得できないのでしょうか?

どうすればこれを達成できますか?よろしくお願いします〜

4

2 に答える 2

0

ファイル サイズを定期的に確認します。

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)
于 2013-06-18T04:28:29.093 に答える