web-dev-qa-db-ja.com

Jupyterノートブックのforループで出力をフラッシュします

Jupyterノートブックでのイテレーションでiを印刷し、フラッシュしたいと思います。次の反復の後、次のiを出力します。私はこれから解決策を試しました 質問この質問 、しかし、それは私のために出力をフラッシュせずに0123...9を出力するだけです。これが私の作業コードです:

import sys
import time

for i in range(10):
    sys.stdout.write(str(i)) # or print(i, flush=True) ?
    time.sleep(0.5)
    sys.stdout.flush()

これらは私の設定です:ipython5.1、python3.6。たぶん、私は前の解決策で何かを逃しましたか?

8
titipata
#Try this:
import sys
import time

for i in range (10):  
    sys.stdout.write('\r'+str(i))
    time.sleep(0.5)

'\ r'は行の先頭に出力されます

10

答えは正しいですが、sysパッケージは必要ありません。 endパラメータはprintで使用できます。

import time

for i in range (10):  
    print(i, end="\r")
    time.sleep(0.5)
4
Alperen