コンソール/コマンドラインを介してユーザーと対話する小さな Python アプリを開発したいと考えています。ユーザー入力を取得し、見栄えの良い方法で出力を表示するために使用できる優れたライブラリはありますか? 検索してみましたが、見つかったもののほとんどはコマンドライン引数の処理であり、シェルでのユーザー操作については何も見つかりませんでした。
クロスプラットフォーム (Windows と Linux) である必要があります。
コンソール/コマンドラインを介してユーザーと対話する小さな Python アプリを開発したいと考えています。ユーザー入力を取得し、見栄えの良い方法で出力を表示するために使用できる優れたライブラリはありますか? 検索してみましたが、見つかったもののほとんどはコマンドライン引数の処理であり、シェルでのユーザー操作については何も見つかりませんでした。
クロスプラットフォーム (Windows と Linux) である必要があります。
本当に優れたライブラリは、Python標準ライブラリの一部であるcmdです。クロスプラットフォームのWindows、Linux、Macです。1つのクラスを実装するだけで、非常に多くの優れた機能が提供されます。
亀の甲羅の例を取り、それをturtleshell.pyとして保存し、以下の亀のスクリプトファイルをcircles.txtとして保存する場合
circle 20
circle 50
circle 100
bye
次に、次のコマンドを使用してタートルスクリプトを実行できます。
cat circles.txt | ./turtleshell.py
そのため、ドキュメントに示されている単純な例では、開発者は基本的に、タートルモジュールへのより簡単なインターフェイスとして使用できる単純なミニ言語を作成し、子供にプログラミングをさらに簡単に導入できるようにしています。上記の例は、2.7のドキュメントにはなかった詳細な例がドキュメントに含まれているため、python3のドキュメントから抜粋したものですが、cmdは利用可能であり、Python2.3以降で完全に機能します。
curses
ライブラリを使用して Unix 端末を制御できます。このライブラリを使用すると、基本的に単純な端末 GUI を構築できます。
さらに必要な場合は、Urwidもご覧ください。Urwid は、目の肥えたターミナル GUI 開発者向けに、より複雑な GUI ウィジェットを提供します。:-)
ドキュメントによると、 cursesは Unix 環境で最も広く使用されています。Windows の場合は、Windows Console Driver、WConio - Windows CONsole I/O for Python またはWcursesを確認できます。残念ながら、クロスプラットフォームのコンソール ライブラリはあまり見つかりませんでした。
Windows ユーザーが CLI ユーザーである場合、 ncurse をサポートするcygwinを使用している可能性が高いため、私に尋ねれば curses が最適なオプションです。