私はPythonスクリプトのcmd出力を、行の最初の3文字を上書きすることなく置き換えたいと考えています。ここで私が何を意味するかである:私はそれをしたいどのように部分的なキャリッジリターンを行う方法
:
/r
で
>>>ID1 downloading
>>>ID1 converting
>>>ID1 finished
:
>>>ID0 downloading
>>>converting
>>>finished
私はPythonスクリプトのcmd出力を、行の最初の3文字を上書きすることなく置き換えたいと考えています。ここで私が何を意味するかである:私はそれをしたいどのように部分的なキャリッジリターンを行う方法
:
/r
で
>>>ID1 downloading
>>>ID1 converting
>>>ID1 finished
:
>>>ID0 downloading
>>>converting
>>>finished
これは、基本的にPythonの問題ではありません。それは標準的な出力質問です。
標準出力はそのようには機能しません。最も簡単なのは、単に "ID1"を書き換えることです。
それ以外の場合は、コンソール固有の書式設定コマンド(ANSIなど)またはcurses
のようなライブラリに移動する必要があります。
これを試してください。しかし、これはIDLEでは機能しないかもしれません。
from time import sleep
from sys import stdout
stdout.write("\r%s" % "ID1 downloading")
stdout.flush()
sleep(1)
stdout.write("\r%s" % "ID1 converting ")
stdout.flush()
sleep(1)
stdout.write("\r%s" % "ID1 done ")
stdout.write("\r \r\n") # clean up
「再書き込み」とは、「再書き込み」を意味します。合意、+1。 – delnan