問題タブ [optparse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
4592 参照

python - Python の optparse はオプションのデフォルト値を表示できますか?

--help でヘルプを表示するときに、Python の optparse にオプションまたはフラグのデフォルト値を出力させる方法はありますか?

0 投票する
3 に答える
1682 参照

python - Python の optparse モジュールを使用するときに PEP 257 docstring に準拠するにはどうすればよいですか?

PEP 257によると、コマンド ライン スクリプトの docstring はその使用法メッセージである必要があります。

スクリプト (スタンドアロン プログラム) の docstring は、その "使用法" メッセージとして使用できる必要があります。このメッセージは、スクリプトが誤った引数または欠落した引数で (または "ヘルプ" の場合は "-h" オプションで) 呼び出されたときに出力されます。このような docstring は、スクリプトの関数とコマンド ライン構文、環境変数、およびファイルを文書化する必要があります。使用方法のメッセージはかなり複雑 (数画面いっぱい) で、新しいユーザーがコマンドを適切に使用するのに十分なだけでなく、上級ユーザー向けのすべてのオプションと引数の完全なクイック リファレンスでもあります。

したがって、私のdocstringは次のようになります。

次に、optparse モジュールを使用します。optparse は、「オプション」セクションと、コマンド ライン構文を説明する「使用方法」を生成します。

したがって、「-h」フラグを指定してスクリプトを呼び出すと、次のように出力されます。

これは次のように変更できます。

その結果、

しかし、ここでdocstringをどのように使用できますか? 使用法メッセージとして docstring を渡すことには、2 つの問題があります。

  1. optparse は、"Usage: " で始まらない場合、docstring に "Usage: " を追加します。
  2. プレースホルダ '%prog' をドキュメント文字列で使用する必要があります

結果

回答によると、optparse モジュールが意図する docstring を再利用する方法はないようです。したがって、残りのオプションは、docstring を手動で解析し、OptionParser を構築することです。(だから私はS.Lootの答えを受け入れます)

"Usage: " の部分は IndentedHelpFormatter によって導入され、OptionParser.__init__() の formatter パラメータに置き換えることができます。

0 投票する
2 に答える
1424 参照

python - 引数を *args & **kwargs として転送する必要がありますか?

optparsePython のモジュールを使用して、プログラムでコマンド ライン引数を処理するクラスがあります。また、パラメーターのサブセットを作成するために、いくつかのクラスによって継承されます。add_optionオプションの解析メカニズムをカプセル化するために、関数のみを継承クラスに公開したいと考えています。この関数が行うことは calloptparse.make_optionです。

add_optionドキュメントと同じ引数を受け入れるとメソッドに言ってもらい、引数をandoptparse.make_optionとして転送するのは良い習慣ですか?*args**kwargs

事前にパラメータチェックを行う必要がありますか? ある意味で、これを避けて、そのコードを特定のバージョンのoptparse.

0 投票する
3 に答える
1085 参照

python - Python optparse のデフォルトと関数のデフォルト

コマンドラインから呼び出してライブラリ関数としてインポートできるようにしたいpythonスクリプトを書いています。理想的には、コマンド ライン オプションと関数は同じ既定値のセットを使用する必要があります。単一のデフォルト セットを両方の場所で再利用できるようにする最善の方法は何ですか?

デフォルトが重複している現在のコードを次に示します。

0 投票する
2 に答える
192 参照

python - Optparseライブラリ-引数の保存中のコールバックアクション

私のコード:

私が持っていた場合: script -p hello

引数を文字列型として出力するには、options.testが必要です

0 投票する
3 に答える
2273 参照

python - OptionParser を使用してカスタム コマンド ライン インターフェイスを作成するには?

raw_input() を使用して取得したコマンドを解析するために、optparse モジュールの OptionParser を使用しています。

これらの質問があります。

1.) OptionParser を使用して、この入力を解析します。(複数の引数を取得する)

add_option() で '-c' の action='store_true' を設定してこれを行いました。複数の引数を持つ別のオプションがある場合、たとえば -dxyz では、どの引数がどのオプションから来ているかを知る方法はありますか? また、引数の1つを再度解析する必要がある場合

2.) もし私がこのようなことをしたかったら..

各エントリは、前のコマンドによって設定された他のオプションに影響を与えてはなりません。これらを達成する方法は?

0 投票する
1 に答える
14379 参照

python - PythonoptparseValuesインスタンス

のopt結果を取得するにはどうすればよいですか?

そしてそれを口述に入れますか?Pythonの呼び出しは「ValuesInstance」を選択しますが、Valuesインスタンスをリストまたはdictに変換する方法が見つかりません。この方法でoptからアイテムをコピーすることはできません。

代わりに、その不器用な、

これは、オプションを追加するたびに、このコードも更新する必要があることを意味します。これを自分で処理させる方法があるはずです。

0 投票する
3 に答える
324 参照

python - Python での (おそらく) オプション引数の処理

私は、同じサーバーに接続し、関連しているが異なることを行う一連のコマンドラインツールに取り組んでいます。ユーザーが、すべてのツールで共有できる接続情報などの共通の引数を配置できる単一の構成ファイルを持つことができるようにしたいと考えています。理想的には、私のために次のことを行うものが欲しいです:

  1. コマンドラインでサーバーアドレスが指定されている場合は、これを使用し、他の値を無視します
  2. サーバー アドレスがコマンド ラインで指定されていないが、コマンド ラインで指定された構成ファイルにある場合は、このアドレスを使用します。その他の値は無視してください。
  3. サーバーアドレスがコマンドラインまたはコマンドで指定された構成ファイルで指定されていないが、ユーザーのホームディレクトリの構成ファイル (たとえば.myapprc ) で使用できる場合は、この値を使用します。
  4. サーバーアドレスが上記のメカニズムのいずれにも指定されていない場合、エラーメッセージが表示されて終了します。

これに最も近いのはconfigparseモジュールです。これは、構成ファイルも見るオプションパーサーを提供することがわかりますが、必要な「どこかに指定する必要がある」という概念を持っていないようです。

上記の私のユースケースをカバーできる既存のモジュールを知っている人はいますか? そうでない場合は、optparse、configparse、または私がレビューしていない他のモジュールへの単純な拡張も大歓迎です。

0 投票する
6 に答える
16989 参照

python - python optparse、使用状況の出力に追加情報を含める方法は?

Python の optparse モジュールを使用して、通常の使用法の出力の下に例の行を追加したいと思います。私の現在の help_print() 出力は次のようになります。

私の職場で *nix の読み書きが苦手なユーザー向けの使用例を含めたいと思います。このようなもの:

どうすればこれを達成できますか? そのようなことを可能にする optparse オプションは何ですか? 現在のコード:

0 投票する
4 に答える
225 参照

python - Pythonライブラリの「より良いオプション」、リストはありますか?

optparse モジュールの存在を知りました。私は個人的に常に getopt を使用していたので、より良いものを探す気にはなりませんでした。ただし、optparse の方がはるかに高度であることは明らかなので、将来的にはコマンド ラインからオプションを取得する方法として優先されると考えています。

とにかく、この出来事は私に衝撃を与えました。標準ライブラリにはるかに優れた代替手段がある、最初から使用しているモジュールまたは関数があるかどうか疑問に思っています。「以前のソリューション:getopt。より良いソリューション:optparse(python 2.x以降)」の好みで、このようなコンパクトで閲覧しやすいリストはありますか?

合意された CW としてマークされた編集。

  • コマンド ライン オプションの解析: getopt、optparse、argparse
  • パッケージ管理: distutils、setuptools