ループ内の1行で印刷する必要があります(Python 3.x)。 SOを既に見て、コードに次の行を追加します。
print('{0} imported\r'.format(tot),)
ただし、ループしたときに複数の行が印刷されます。私も試しました
sys.stdout.write('{0} imported\r'.format(tot))
しかし、これはanythingをコンソールに出力しません...
誰がこれで何が起こっているのか知っていますか?
最初のケースでは、一部のシステムは\r
を改行として。 2番目のケースでは、行をflush
しませんでした。これを試して:
sys.stdout.write('{0} imported\r'.format(tot))
sys.stdout.flush()
Levonが私に思い出させるように、すべてのシステムで行をフラッシュする必要はありません。しかし、\r
こちらです。
最後の行を上書きする場合は、次の行に進まないように、\ r(文字リターン)とend = ""を追加する必要があります。
values = range(0, 100)
for i in values:
print ("\rComplete: ", i, "%", end="")
print ("\rComplete: 100%")
私はJanのソリューションを使用することを好みますが、このように:
values = range(0, 101)
for i in values:
print ("Complete: ", i, "%", end="\r")
print ()