ログファイルが表示されるのを待つ以下のコードがあります。ログファイルが表示されると、外部プログラムによってそこに保存されます。ログファイルがまだ書き込まれている間に開き、内容を印刷します。外部プログラムによって更新されている 書き込まれている新しい行を印刷したい。現在、印刷をクリアしてテキスト全体を再印刷しますが、これは避けたいのですが、新しい行だけを印刷したいと思います。もう 1 つの改善点は、Python スクリプトを一時停止するのではなく、ファイルが表示されるのを待つことです。
a=0
while a <= 10:
if os.path.isfile(logPath):
infile = file(logPath)
break
a=a+1
time.sleep(1)
fileSize1 = 0
while True:
wx.Yield()
fileSize = os.path.getsize(logPath)
if fileSize > fileSize1:
lines = infile.readlines()
log.Clear()
log.Refresh()
for line in lines:
print line.rstrip()
if "DBG-X: Returning 1" in line:
break
if "DBG-X: Returning 0" in line:
break
fileSize1 = fileSize
infile.seek(0)