基本的に私はこの男がしたことの反対をしたいです...へへ。
Pythonスクリプト:既存の行を更新するのではなく、シェルに毎回新しい行を出力します
私はそれがどれだけ進んでいるかを教えてくれるプログラムを持っています。
for i in some_list:
#do a bunch of stuff.
print i/len(some_list)*100," percent complete"
したがって、len(some_list)が50の場合、最後の行が50回印刷されます。1行印刷して、その行を更新し続けたい。私はこれがおそらくあなたが一日中読むであろう最も怠惰な質問であることを知っています。私は答えを得るためにグーグルに入れる必要がある4つの単語を理解することができません。
更新!私は正しいと思われるmvdsの提案を試しました。新しいコード
print percent_complete," \r",
完了率は単なる文字列です(初めて抽象化したので、文字通りにしようとしています)。その結果、プログラムが実行され、プログラムが終了するまで何も出力されず、1行だけに「100%完了」と出力されます。
キャリッジリターンがない場合(ただし、コンマを使用すると、mvdsの提案の半分)、最後まで何も出力されません。そして、印刷します:
0 percent complete 2 percent complete 3 percent complete 4 percent complete
等々。したがって、新しい問題は、カンマを使用すると、プログラムが終了するまで印刷されないということです。
キャリッジリターンがあり、カンマがない場合は、どちらの場合とまったく同じように動作します。
sys.stdout.isatty()
ターミナルで実行していないときにこれらのものを吐き出さないように、チェックすることもできます。