タグ付けされた質問 「argparse」

コマンドラインインターフェイスを実装するためのPythonモジュール

3
Argparseオプションの位置引数?
次のように使用するためのスクリプトがあります。 usage: installer.py dir [-h] [-v] dir 次のように定義される位置引数です。 parser.add_argument('dir', default=os.getcwd()) 私はdirをオプションにしたい:それが指定されていないときはそれだけにする必要がありますcwd。 残念ながら、dir引数を指定しないとが表示されますError: Too few arguments。
652 python  argparse 

19
argparseによるブール値の解析
argparseを使用して、「-foo True」または「--foo False」と記述されたブールコマンドライン引数を解析したいと思います。例えば: my_program --my_boolean_flag False ただし、次のテストコードでは希望どおりの結果が得られません。 import argparse parser = argparse.ArgumentParser(description="My parser") parser.add_argument("--my_bool", type=bool) cmd_line = ["--my_bool", "False"] parsed_args = parser.parse(cmd_line) 悲しいことに、にparsed_args.my_bool評価されTrueます。これは私が変更されてもそうであるcmd_lineように["--my_bool", ""]するので、驚くべきことであるこれは、bool("")evalutatesへFalse。 どうやって取得argparse解析することができ"False"、"F"およびその下のケースのように変異体はFalse?

11
単純なargparseの例:1つの引数、3つの結果
argparse pythonモジュールのドキュメントはすばらしいと思いますが、小さな初心者の脳には今すぐ理解するには多すぎます。コマンドラインで数学を実行したり、画面のフォーマット行をいじったり、オプション文字を変更したりする必要はありません。私がやりたいことは、「argがAの場合、これを行い、Bがそれを行う場合、上記のいずれもヘルプを表示せずに終了する場合」です。
529 python  argparse 

9
argparseでコマンドライン引数としてリストを渡すにはどうすればよいですか?
コマンドラインプログラムの引数としてリストを渡そうとしています。ありますかargparseリストをオプションとして渡すオプションますか? parser.add_argument('-l', '--list', type=list, action='store', dest='list', help='<Required> Set flag', required=True) スクリプトは以下のように呼ばれます python test.py -l "265340 268738 270774 270817"
441 python  argparse 

3
引数なしのPython argparseコマンドラインフラグ
コマンドライン引数にオプションのフラグを追加するにはどうすればよいですか? 例えば。だから私は書くことができます python myprog.py または python myprog.py -w 私は試した parser.add_argument('-w') しかし、私はただエラーメッセージを受け取ります Usage [-w W] error: argument -w: expected one argument これは、-wオプションの引数値が必要であることを意味します。フラグを受け入れるだけの方法は何ですか? 私はこの質問でhttp://docs.python.org/library/argparse.htmlかなり不透明になっています。

7
Python argparse:ヘルプテキストに改行を挿入する方法?
入力オプションの解析argparseにPython 2.7を使用しています。私の選択肢の1つは複数選択です。ヘルプテキストにリストを作りたい、例えば from argparse import ArgumentParser parser = ArgumentParser(description='test') parser.add_argument('-g', choices=['a', 'b', 'g', 'd', 'e'], default='a', help="Some option, where\n" " a = alpha\n" " b = beta\n" " g = gamma\n" " d = delta\n" " e = epsilon") parser.parse_args() ただし、argparseすべての改行と連続するスペースは削除されます。結果は次のようになります 〜/ダウンロード:52 $ python2.7 x.py -h 使用法:x.py [-h] [-g {a、b、g、d、e}] …
340 python  argparse 

3
Argparse: '--help'にデフォルト値を含める方法?
次のargparseスニペットがあるとします。 diags.cmdln_parser.add_argument( '--scan-time', action = 'store', nargs = '?', type = int, default = 5, help = "Wait SCAN-TIME seconds between status checks.") 現在、次を--help返します: usage: connection_check.py [-h] [--version] [--scan-time [SCAN_TIME]] Test the reliability/uptime of a connection. optional arguments: -h, --help show this help message and exit --version show program's version …
307 python  argparse 

5
なぜoptparseではなくargparseを使うのですか?
Python 2.7のドキュメントには、さらに別のコマンドライン解析モジュールが含まれていることに気付きました。に加えてgetopt、optparse今持っていargparseます。 なぜさらに別のコマンドライン解析モジュールが作成されたのですか?代わりにそれを使用する必要があるのはなぜoptparseですか?知っておくべき新機能はありますか?

4
Argparse:「オプションの引数」の下にリストされている必須の引数?
次の簡単なコードを使用して、いくつかの引数を解析します。そのうちの1つが必要であることに注意してください。残念ながら、ユーザーが引数を指定せずにスクリプトを実行すると、表示される使用法/ヘルプテキストは、オプションではない引数があることを示していません。引数がオプションではないことを示すようにpythonを取得するにはどうすればよいですか? これがコードです: import argparse if __name__ == '__main__': parser = argparse.ArgumentParser( description='Foo') parser.add_argument('-i','--input', help='Input file name', required=True) parser.add_argument('-o','--output', help='Output file name', default="stdout") args = parser.parse_args() print ("Input file: %s" % args.input ) print ("Output file: %s" % args.output ) 必要な引数を提供せずに上記のコードを実行すると、次の出力が得られます。 usage: foo.py [-h] -i INPUT [-o OUTPUT] Foo optional arguments: …
229 python  argparse 

13
引数なしでスクリプトが呼び出されたときにpython argparseでヘルプメッセージを表示する
これは簡単なものかもしれません。argparseを使用してコマンドラインの引数/オプションを処理するプログラムがあるとします。以下は「ヘルプ」メッセージを出力します: ./myprogram -h または: ./myprogram --help ただし、引数なしでスクリプトを実行しても、何も実行されません。引数なしで呼び出されたときに使用方法のメッセージを表示することです。それはどのように行われますか?
226 python  argparse 

3
Python argparseは認識されない引数を無視します
Optparse、古いバージョンは、認識されない引数をすべて無視して続行します。ほとんどの状況では、これは理想的ではなく、argparseで変更されました。ただし、認識されない引数を無視して、指定した引数を解析する必要がある状況がいくつかあります。 例えば: parser = argparse.ArgumentParser() parser.add_argument('--foo', dest="foo") parser.parse_args() $python myscript.py --foo 1 --bar 2 error: unrecognized arguments: --bar これを上書きする方法はありますか?

2
argparseを使用して2つの引数のいずれかを要求する
与えられた: import argparse pa = argparse.ArgumentParser() pa.add_argument('--foo') pa.add_argument('--bar') print pa.parse_args('--foo 1'.split()) どうやって 「foo、bar」の少なくとも1つを必須にする:--foo x、--bar yおよび--foo x --bar y問題ありません せいぜい「foo、bar」の1つを必須にする--foo xか--bar y、問題--foo x --bar yありません。
183 python  argparse 

3
Python argparse:デフォルト値または指定された値
フラグのみが存在し、値が指定されていない場合にデフォルトで値になるオプションの引数が必要ですが、ユーザーが値を指定した場合は、デフォルトではなくユーザー指定の値を格納します。これに対してすでに利用可能なアクションはありますか? 例: python script.py --example # args.example would equal a default value of 1 python script.py --example 2 # args.example would equal a default value of 2 アクションを作成できますが、これを行うための既存の方法があるかどうかを確認したかったのです。

2
argparseモジュール引数なしでオプションを追加するには?
を使用してスクリプトを作成しましたargparse。 スクリプトはオプションとして構成ファイル名を使用する必要があり、ユーザーはスクリプト全体を続行する必要があるか、シミュレーションのみを実行する必要があるかを指定できます。 渡される引数:./script -f config_file -sまたは./script -f config_file。 -f config_fileの部分は問題ありませんが、オプションであり、その後に続くべきではない-sの引数を要求し続けます。 私はこれを試しました: parser = argparse.ArgumentParser() parser.add_argument('-f', '--file') #parser.add_argument('-s', '--simulate', nargs = '0') args = parser.parse_args() if args.file: config_file = args.file if args.set_in_prod: simulate = True else: pass 次のエラーが発生しました: File "/usr/local/lib/python2.6/dist-packages/argparse.py", line 2169, in _get_nargs_pattern nargs_pattern = '(-*%s-*)' % '-*'.join('A' * nargs) …
165 python  argparse 

5
Pythonでは、argparseを使用して、正の整数のみを許可します
タイトルは私が何をしたいのかを大まかに要約しています。 ここに私が持っているものがあり、プログラムは非正の整数で爆破しませんが、非正の整数は基本的にナンセンスであることをユーザーに知らせたいです。 import argparse parser = argparse.ArgumentParser() parser.add_argument("-g", "--games", type=int, default=162, help="The number of games to simulate") args = parser.parse_args() そして出力: python simulate_many.py -g 20 Setting up... Playing games... .................... 負の出力: python simulate_many.py -g -2 Setting up... Playing games... さて、明らかにifを追加してif args.gamesネガティブと判断することもできargparseますが、自動使用印刷を利用するために、そのレベルでトラップする方法があるかどうか知りたいと思いました。 理想的には、次のようなものを出力します。 python simulate_many.py -g a usage: simulate_many.py [-h] [-g …
164 python  argparse 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.