7

コンソール/コマンドラインを介してユーザーと対話する小さな Python アプリを開発したいと考えています。ユーザー入力を取得し、見栄えの良い方法で出力を表示するために使用できる優れたライブラリはありますか? 検索してみましたが、見つかったもののほとんどはコマンドライン引数の処理であり、シェルでのユーザー操作については何も見つかりませんでした。

クロスプラットフォーム (Windows と Linux) である必要があります。

4

3 に答える 3

10

本当に優れたライブラリは、Python標準ライブラリの一部であるcmdです。クロスプラットフォームのWindows、Linux、Macです。1つのクラスを実装するだけで、非常に多くの優れた機能が提供されます。

  1. サポートされているコマンドのリストを提供します(最終的にはメソッドとして実装されます)
  2. コマンドの1つを説明するために呼び出すことができるヘルプコマンド
  3. コマンドの入力、構文のチェック、およびメソッドコマンドループサイクルの呼び出し全体を処理します。
  4. ユーザーは、対話型セッションで実行したコマンドを保存して、スクリプトとして実行できます。以下の例を確認してください。

亀の甲羅の例を取り、それをturtleshell.pyとして保存し、以下の亀のスクリプトファイルをcircles.txtとして保存する場合

circle 20
circle 50
circle 100
bye

次に、次のコマンドを使用してタートルスクリプトを実行できます。

cat circles.txt | ./turtleshell.py

そのため、ドキュメントに示されている単純な例では、開発者は基本的に、タートルモジュールへのより簡単なインターフェイスとして使用できる単純なミニ言語を作成し、子供にプログラミングをさらに簡単に導入できるようにしています。上記の例は、2.7のドキュメントにはなかった詳細な例がドキュメントに含まれているため、python3のドキュメントから抜粋したものですが、cmdは利用可能であり、Python2.3以降で完全に機能します。

于 2012-10-06T16:33:44.437 に答える
6

cursesライブラリを使用して Unix 端末を制御できます。このライブラリを使用すると、基本的に単純な端末 GUI を構築できます。

さらに必要な場合は、Urwidもご覧ください。Urwid は、目の肥えたターミナル GUI 開発者向けに、より複雑な GUI ウィジェットを提供します。:-)

于 2012-10-06T09:57:50.460 に答える
2

ドキュメントによると、 cursesは Unix 環境で最も広く使用されています。Windows の場合は、Windows Console DriverWConio - Windows CONsole I/O for Python またはWcursesを確認できます。残念ながら、クロスプラットフォームのコンソール ライブラリはあまり見つかりませんでした。

Windows ユーザーが CLI ユーザーである場合、 ncurse をサポートするcygwinを使用している可能性が高いため、私に尋ねれば curses が最適なオプションです。

于 2012-10-06T09:56:46.207 に答える