2

NppExec /Notepad++を使用してPythonスクリプトを作成します。Pythonコードの各行が実行されるときにコンソールウィンドウを更新するにはどうすればよいですか?たとえば、次のタイマースクリプト:

#!usr/bin/env python
import time
import threading

class Timer(threading.Thread):
    def __init__(self, seconds):
        self.runTime = seconds
        threading.Thread.__init__(self)
    def run(self):
        counter = self.runTime
        for sec in range(self.runTime):
            print counter
            time.sleep(1.0)
            counter -= 1
        print "Done."

if __name__ == '__main__':
    t = Timer(10)
    t.start()

これをコマンドプロンプトウィンドウで実行すると、毎秒ライブアップデートされます。ただし、NppExecコンソールでは、終了後にのみ更新されます。NppExecコンソールをコマンドプロンプトとして動作させ、継続的に更新する方法はありますか?

4

2 に答える 2

2

その特定のコンソールアプリが出力を処理する方法に精通していませんがstdout、デフォルトでバッファリングされます。これはおそらくここでの問題です。無効にする方法については、この質問を参照してください。

于 2012-03-12T20:10:41.973 に答える
1

実行する必要があるのは、python -uコマンドを呼び出してスクリプトを実行するpython -u timer.pyことだけです。python timer.py

これは、デフォルトでバッファなしモードで出力を出力します。より詳細なプログラムでのカスタム出力フラッシュの場合、stdout定義を書き直す必要があります。

于 2012-04-30T18:49:38.693 に答える