動的テキスト変更のためのコンソールでの複数行の書き換え
テキストベースのアプリケーションでは、多くの場合、複数行の更新と書き換えが必要になります。コンソールで動的なユーザー対話を実現します。これは、ディスプレイのレイアウトとプレゼンテーションを保持しようとするときに問題になる可能性があります。
さまざまなオペレーティング システムでは、この動作を実現するためのさまざまな方法が存在します。
Unix
Windows
利用可能なオプションがいくつかあります:
curses を使用したサンプル コード
次の Python コードは、curses の使用方法を示しています。ターミナル内の複数の行を書き換えるためのcurses:
import curses import time def report_progress(filename, progress): """progress: 0-10""" stdscr.addstr(0, 0, "Moving file: {}".format(filename)) stdscr.addstr(1, 0, "Total progress: [{1:10}] {0}%".format(progress * 10, "#" * progress)) stdscr.refresh() if __name__ == "__main__": stdscr = curses.initscr() curses.noecho() curses.cbreak() try: for i in range(10): report_progress("file_{0}.txt".format(i), i+1) time.sleep(0.5) finally: curses.echo() curses.nocbreak() curses.endwin()
このコードは、curses を使用してテキストベースの画面を初期化し、エコーと行バッファリングを無効にし、画面上にテキストを印刷し、表示を更新します。 report_progress 関数を繰り返し呼び出すことで、コンソール内の複数の行を動的に更新できます。
以上が動的テキスト変更のためにコンソールで複数行を書き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。