問題タブ [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 - Python argparse:前の引数に応じてnargs+または*
私はサーバークエリツールを書いていますが、一番上に引数を解析するためのコードが少しあります。
これを行うためのより良い方法はありますか、できればすべてパーサー内で行いますか?その最後のエラーは少し場違いに見えます。アドレスのnargsを、-odamまたは---odasのどちらが渡されたかに依存させることができれば便利です。サブパーサーを作成することもできますが、コマンドのアドレス部分が省略されるため、少し奇妙に見えるようになります。
python - Python argparse:nargsで範囲を指定する方法はありますか?
引数のリスト自体をサポートするオプションの引数があります。
つまり、以下をサポートする必要があります。
- -f 1 2
- -f 1 2 3
だがしかし:
- -f 1
- -f 1 2 3 4
argparse内でこれを強制する方法はありますか?現在、nargs = "*"を使用しており、リストの長さを確認しています。
編集:要求に応じて、必要なのは、許容可能な数の引数の範囲を定義できることです。つまり、(例では)2つまたは3つの引数は正しいですが、1つまたは4つ、または2..3の範囲内にないものは正しくありません。
python - python argparse による再帰
argparse を使用して再帰的なプログラムを作成しています。必要な唯一の引数は、操作対象のファイル (または複数のファイル) です。再帰的に呼び出す場合、ファイル名は必要ありませんが (新しいディレクトリで呼び出すため)、オプションは必要です。問題は、argparse が と の両方python programname.py -options arg FILENAME FILENAME
を許可することpython programname.py FILENAME FILENAME -options arg
です。「-」を苦労して検索し、大量のifステートメントで解決することはできましたが、もっと良い方法があるはずだと感じています.
それが重要かどうかはわかりませんが、ここに私のargparse宣言があります:
本当にありがとう!
python - Argparserでプレフィックスなしでオプションを設定する方法はありますか?
CLIプログラムの引数を処理するためにArgparserを使用しています。しかし、時間が経つにつれて、それを使用するのは良い考えではないと思います。ここに問題があります。プレフィックス文字なしでオプションを使用したい。gitcommitやsvnmoveのように。少し調べてみたところ、Argparseにはadd_subparser()メソッドがあることがわかりました。fooプログラムにデータを入力しましょう:
次に、オプションを指定してfooを実行し、args
名前空間を出力します(コード全体を過去のものにしなかったので、要点がわかります)。
ご覧のとおり、オプションを実行するとdel
、add_projectは変数に渡されませんargs
。main()関数に次のような「if句」がある場合、問題が発生します。
を実行すると、Namespaceにadd_projectという名前の属性がないというAttributeError例外が発生します。それ以外に、オプションとに引数を渡すことはできません。また、prefix_charsを空の文字列に設定しましたが、これも機能しませんでした。./foo del
del
add
それを処理する方法は何ですか?argparseはgit、svnなどのオプションを作成できますか?それとも独自の関数を作成してすべての引数を自分で処理する必要がありますか?
python - Python argparse: 整形済みのヘルプ テキスト?
argparse を使用しており、オプションの 1 つのヘルプ テキストにリストを表示したいと考えています。ただし、argparse はテキストから新しい行を取り除き、1 行に表示します。
とにかく、ヘルプ文字列が事前にフォーマットされていることをargparseに伝え、改行文字を削除しないようにする方法はありますか?
python - 関数を引数として取る方法は?(Python)
回転体の体積を計算するプログラムを書いています。この最初のステップは、積分を計算することです。私はscipy.integrate
これに使用していますが、方程式を作成するための最良の方法を見つけることができません(x=x**2
コマンドラインでの入力など。当初は、x | yに関して引数を追加してから、残念ながら、argparse
ラムダを引数型として使用することはありません。文字列を使用してラムダ(f = lambda x: args.equation
)を作成しようとすると、文字列が返されます(当然のことながら実際に)。
これが私がこれまでに得たものです:
アドバイスをいただければ幸いです
python - argparseのadd_argumentは、キーワード引数の前に可変長引数をどのように取りますか?
python2.7では、argparseモジュールにadd_argumentメソッドがあり、以下に示すように、キーワード引数の前に可変数の名前のない引数を取ることができます。
私の知る限り、次のような関数定義は機能しません。
add_argument
動作をエミュレートするための適切な手段は何ですか?
python - 依存関係のあるpythonargparse
私は、相互に排他的な2つの引数と、それらの引数の1つでのみ意味をなすオプションを持つスクリプトを作成しています。意味のない引数で呼び出すと失敗するようにargparseを設定しようとしています。
明確にするために:
-m -f
理にかなっている
-s
理にかなっている
-s -f
エラーをスローする必要があります
引数は問題ありません。
私が持っているコードは次のとおりです。
それが吐き出すので、それはうまくいきません
私が期待するものではなく:
またはそのような。
また、エラーはスローされません。
python - argparse 位置引数の位置
これの代わりに:
usage: installer.py [-h] [-v] dir
これが欲しい:
usage: installer.py dir [-h] [-v]
位置引数の位置を指定する方法はありますか?
python - Argparseオプションの位置引数?
次のように使用するためのスクリプトがあります。
usage: installer.py dir [-h] [-v]
dir
次のように定義される位置引数です。
dir
をオプションにしたい: 指定されていない場合は、 にする必要がありますcwd
。
dir
残念ながら、引数を指定しないと、 Error: Too few arguments
.