Pythonでターミナル(コマンドライン)から利用するCUIのアプリケーションを作る際、処理の進捗状況を表示するときに少しリッチにしたい。
richというライブラリを使うと簡単にできました。このライブラリは、PythonでCUIアプリを作る際にリッチなUIを簡単に作れる機能を提供してくれます。
インストール
richはpipでインストールできます。
(venv)$ pip install rich
進捗状況表示
ドキュメントに進捗状況表示の実装方法についてページがあります。
Progress Display — Rich 13.6.0 documentation
ドキュメントのコードを参考に、簡単な計算処理の進捗状況表示を試してみます。
main.py:
import time from rich.progress import track values = list(range(10)) # 0~9 の数値のリストを用意 result = 0 for value in track(values, description="処理中..."): result += value # 値を足し合わせ time.sleep(0.5) # 意図的に遅延させる print(result) # 結果表示
実行結果
Cygwinからsshで接続したUbuntu Linuxのbash上:
Windows11のPowerShell 7上:
クロスプラットフォームで問題なく動作しています。便利でした。