0

テキストを動的に表示するにはどうすればよいですか?

Some text [-]に移動Some text [|]してから に戻りSome text [-]ます。

画面全体をクリアせずにこれを行う方法はありますか?

4

1 に答える 1

2

POSIX 端末の場合、次の 2 つの手法を使用できます。

  • \r行頭に戻るには改行を書く

  • \bいくつかの文字をクリアするには、バックスペースを書き込みます。

どちらの場合も、sys.stdout.write()これを書き出すためにフラッシュと一緒に使用します。

\bバックスペース デモの使用:

import sys
import time
sys.stdout.write('Some text [\\]')
for i in ['-', '/', '|', '\\'] * 10:
    sys.stdout.write('\b\b\b[{0}]'.format(i))
    sys.stdout.flush()
    time.sleep(1)

\rキャリッジ リターンのデモを使用する:

import sys
import time
for i in ['-', '/', '|', '\\'] * 10:
    sys.stdout.write('\rSome text [{0}]'.format(i))
    sys.stdout.flush()
    time.sleep(1)
于 2013-01-09T06:45:19.130 に答える