私は株式市場の価格を追跡し、stderrを使って同じ行をリフレッシュするユーザーに出力するPythonプログラムを書こうとしています。これはコードの単純化されたバージョンです(プログラムが何かをしていることを確認する):Pythonの最後のものを実行している間に端末の行を更新しますか?
import random
import schedule
import time
import sys
def printran():
a = "\rFirst Line is: " + str(random.randint(1,10))
sys.stderr.write(a)
schedule.every(2).seconds.do(printran)
while True:
schedule.run_pending()
time.sleep(1)
私の問題は、次のとおりです。
a)はどのように私は複数行にコンソール出力を "リフレッシュ" しますか?
私のようなものを試してみました:
a = "\rFirst Line is: " + str(random.randint(1,10)) + "\n\rSecond Line is: " + str(random.randint(2,20))
が、出力は混乱であると同時に機能が本当に私を終了していないので、明らかに\ nコマンドは、常に新しい行に
B)が生成されます他のものを行うことはできません、私はマルチスレッドを使用する必要がありますか?
c)可能な限り簡単で移植性があり、OSに依存しないソリューションを見つける(Linux、OSX、Winで動作する必要があります)。