問題タブ [argparse]
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.
python - Argparse: オプションの引数が指定されている場合、複数の位置引数を無視します
-l
オプションの引数( )が指定されている場合、通常必要な2つの位置引数が評価されるべきではないという事実をargparseに無視させようとしています。
基本的に、私は --help の動作を再現しようとしています: -h を指定すると、欠落している必要な引数はすべて無視されます。
コード例:
そしてもちろん、今実行すると、次のようになります。
のようなさまざまなことを試しnargs='?'
ましたが、何も機能しませんでした。
この質問は非常に似ていますが、回答されていません。
python - Python argparse - 複数のサブパーサーに引数を追加する
私のスクリプトは、1 つのメイン パーサーと複数のサブパーサーを定義します。-p
この引数をいくつかのサブパーサーに適用したいと考えています。これまでのところ、コードは次のようになります。
ご覧のとおり、add_arument ("-p")
が 2 回繰り返されます。私は実際にはもっと多くのサブパーサーを持っています。繰り返しを避けるために、既存のサブパーサーをループする方法はありますか?
記録のために、私はPython 2.7を使用しています
python - argparseを使用したPythonのオプションのstdin
非常に便利な構文を見つけました
入力ファイルを指定したり、stdinを使用したりするために使用します。どちらもプログラムに必要です。ただし、入力ファイルは必ずしも必要ではありません。のいずれかで入力を使用-i
またはリダイレクトしていない場合
Pythonプログラムに入力を待たせたくありません。そのまま移動してデフォルト値を使用したい。
python - type=dict in argparse.add_argument()
オプションの引数として (argparse を使用して) 辞書を設定しようとしています。次の行は私がこれまでに持っているものです:
しかし、スクリプトを実行すると:
とはいえ、通訳の内部では、
うまく動作します。
では、代わりにどのように引数を渡す必要がありますか? 前もって感謝します。
python - python + argparse - コマンドラインからオプションの引数の順序を取得する方法
コマンドラインからargparseに渡されるオプションの引数の順序を取得する方法を知りたい
回転、トリミング、サイズ変更など、さまざまなアクションを画像に適用できる画像処理クラスがあります...
そして、これらのアクションが適用される順序はしばしば重要です (たとえば、サイズを変更する前に画像をトリミングしたい場合など)。
私はこのコードを持っています:
しかし - どの順序でパラメータをスクリプトに渡しても:
cmd.py test.jpg test2.jpg -クロップ 10 10 200 200 -サイズ変更 450 300
cmd.py test.jpg test2.jpg -サイズ変更 450 300 -クロップ 10 10 200 200
名前空間内の項目は常に同じ順序になっています (アルファベット順だと思います):
コマンドライン文字列の位置で並べ替える方法や、インデックスを取得する方法はありますか?
python - パッケージに標準のロガーと argparser を実装する方法
内部ソフトウェア開発プロセス用に、python ビルド パッケージと機能テスト パッケージを実装しようとしています。私の主な目標は、すべてのモジュールがパースペクティブ パッケージ内から使用するグローバル/標準ロガー (ここでの参照と同様) と argparser を実装することです (つまり、ビルド ロガーとパーサーは、テスト スイートのロガーとパーサーとは異なります)。
__init__.py
これはパッケージで行う必要がありますか? これを達成する他の方法はありますか?本当のニーズが何であるかはまだわかりません__init__.py
か?おそらく、これは私自身の質問に答えましたか?
私は多数の Python モジュールやその他のアプリを作成しましたが、パッケージやライブラリは作成しませんでした。このコンセプトは、これらのプロセスを標準化するなど、私に新しい可能性をもたらしているようです。
基本的に、要約すると、これらのパッケージの私の目標は次のとおりです。
1.) 引数の長いリストの冗長な受け渡し/解析、および/またはシステム環境へのアクセスの必要性を排除します。
2.) さまざまなテストやビルド スクリプトから過去に見られた無数の出力を排除します。
3.) 使いやすい自己文書化パッケージを提供します。パッケージのドキュメントに関するアドバイスも非常に役立ちます。:)
これにより、これらのパッケージのユーザーは次のことができるようになります。
1.) 標準の引数セットに簡単にアクセスできます。たとえば、パッケージ内のすべてのモジュールは (優先順位に従って) 標準フラグを使用してコマンドライン引数を解析したり、構成ファイルをロードしたり、デフォルト値を使用したりします。
2.) エラー、警告、およびデバッグ ステートメントを標準的な方法で簡単にログに記録します。
3.) これらのテスト/ビルド モジュールが渡されると、最終的には "ユーザー" (つまり、モジュールを作成していない人) が普遍的な方法で実行できるようになります。
さまざまなオプションと可能性が圧倒的に多いため、実際の「Pythonic」実装のアドバイスを探していると思います。前もって感謝します。
python - プレフィックスなしでpython argparse相互に排他的なグループ引数を作成するには?
Python2.7 argparse は、相互に排他的なグループのオプションの引数 (接頭辞付き) のみを受け入れます。
$ マイデーモン -h
argparse 引数を従来の UNIX デーモン制御のように動作させる方法はありますか?
python - pythons argparseの位置引数のメタ変数を変更するにはどうすればよいですか?
argparseパッケージでは、パラメーターmetavar
はプログラムの表示されたヘルプメッセージを変更します。次のプログラムは動作することを意図したものではなく、単にパラメータの動作を示すために使用されていmetavar
ます。
対応するヘルプメッセージは次のとおりです。
-range1
との違いに注意してください-range2
。明らか-range1
に、ヘルプメッセージの推奨される方法です。
この時点まで、すべてが私には明らかです。ただし、オプションの-range1
引数を位置range1
引数に変更すると、argparsemetavar
はパラメーター( )のタプルを処理できませんValueError: too many values to unpack
。
私がそれを機能させることができた唯一の方法は、それ-range2
が行われる方法でした。しかし、ヘルプメッセージは、この場合ほど良くはありません-range1
。
ケースと同じヘルプメッセージを取得する方法はあります-range1
が、オプションではなく位置引数を取得する方法はありますか?