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

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

9
Pythonモジュールのargparse部分のテストをどのように記述しますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てますます。 閉まっている 先月。 この質問を改善する argparseライブラリを使用するPythonモジュールがあります。コードベースのそのセクションのテストを作成するにはどうすればよいですか?

3
ダッシュ付きのargparseにオプションがある
私は、次のようなargparseモジュールでいくつかのオプションを持っていると思います--pm-export、私は同じようにそれを使用しようとすると、しかしargs.pm-export、私は属性が存在しないというエラーを取得しますpm。この問題を回避するにはどうすればよいですか?-コマンドラインオプションを含めることは可能ですか?
154 python  argparse 

2
argparseで選択したサブコマンドを取得する
python argparseでサブコマンドを使用すると、選択した引数を取得できます。 parser = argparse.ArgumentParser() parser.add_argument('-g', '--global') subparsers = parser.add_subparsers() foo_parser = subparsers.add_parser('foo') foo_parser.add_argument('-c', '--count') bar_parser = subparsers.add_parser('bar') args = parser.parse_args(['-g, 'xyz', 'foo', '--count', '42']) # args => Namespace(global='xyz', count='42') だから、args含まれていません'foo'。sys.argv[1]グローバル引数が存在する可能性があるため、単純に記述しても機能しません。サブコマンド自体を取得するにはどうすればよいですか?

5
Argparse: 'x'が存在する場合、必須の引数 'y'
次の要件があります。 ./xyifier --prox --lport lport --rport rport 引数proxについては、action = 'store_true'を使用して、存在するかどうかを確認します。引数は必要ありません。ただし、-proxが設定されている場合は、 rportとlport も必要です。カスタム条件付きコーディングを記述せずにargparseでこれを行う簡単な方法はありますか? その他のコード: non_int.add_argument('--prox', action='store_true', help='Flag to turn on proxy') non_int.add_argument('--lport', type=int, help='Listen Port.') non_int.add_argument('--rport', type=int, help='Proxy port.')
118 python  argparse 


8
argparseオプション引数が設定されているかどうかを確認します
オプションのargparse引数がユーザーによって設定されているかどうかを確認したいと思います。 issetを使用して安全に確認できますか? このようなもの: if(isset(args.myArg)): #do something else: #do something else これは、float / int / stringタイプの引数でも同じように機能しますか? デフォルトのパラメータを設定して確認することもできます(たとえば、myArg = -1を設定するか、文字列の ""、または "NOT_SET")。ただし、最終的に使用する値は、スクリプトの後半でのみ計算されます。したがって、デフォルトとして-1に設定し、後で別の値に更新します。これは、ユーザーが値を設定したかどうかを単にチェックする場合と比較すると、少し扱いに​​くいように見えます。
112 python  argparse 

3
入力引数argparse pythonのフォーマットを指定する
コマンドライン入力を必要とするpythonスクリプトがあり、それらを解析するためにargparseを使用しています。ドキュメントが少しわかりにくく、入力パラメータの形式を確認する方法が見つかりませんでした。形式をチェックすることで私が意味することは、このサンプルスクリプトで説明されています。 parser.add_argument('-s', "--startdate", help="The Start Date - format YYYY-MM-DD ", required=True) parser.add_argument('-e', "--enddate", help="The End Date format YYYY-MM-DD (Inclusive)", required=True) parser.add_argument('-a', "--accountid", type=int, help='Account ID for the account for which data is required (Default: 570)') parser.add_argument('-o', "--outputpath", help='Directory where output needs to be stored (Default: ' + os.path.dirname(os.path.abspath(__file__))) 私はオプションをチェックする必要がある-sと-e、ユーザによる入力が形式であることYYYY-MM-DD。argparseには、これを実現する方法がわからないオプションがありますか?


11
Python argparse:少なくとも1つの引数を必須にします
私は、またはその両方argparseが可能なPythonプログラムに使用しています。-process-upload parser = argparse.ArgumentParser(description='Log archiver arguments.') parser.add_argument('-process', action='store_true') parser.add_argument('-upload', action='store_true') args = parser.parse_args() プログラムは、少なくとも1つのパラメーターがないと意味がありません。argparse少なくとも1つのパラメーターを強制的に選択するように構成するにはどうすればよいですか? 更新: コメントに続いて:少なくとも1つのオプションでプログラムをパラメーター化するPythonの方法は何ですか?
92 python  argparse 

3
Pythonargparse相互排他グループ
私が必要なのは: pro [-a xxx | [-b yyy -c zzz]] これを試しましたが、機能しません。誰かが私を助けてくれますか? group= parser.add_argument_group('Model 2') group_ex = group.add_mutually_exclusive_group() group_ex.add_argument("-a", type=str, action = "store", default = "", help="test") group_ex_2 = group_ex.add_argument_group("option 2") group_ex_2.add_argument("-b", type=str, action = "store", default = "", help="test") group_ex_2.add_argument("-c", type=str, action = "store", default = "", help="test") ありがとう!
88 python  argparse 

3
Pythonのargparseで同じオプションを複数回使用する
複数の入力ソースを受け入れ、それぞれに何かを実行するスクリプトを作成しようとしています。このようなもの ./my_script.py \ -i input1_url input1_name input1_other_var \ -i input2_url input2_name input2_other_var \ -i input3_url input3_name # notice inputX_other_var is optional しかし、を使用してこれを行う方法を完全に理解することはできませんargparse。各オプションフラグは1回しか使用できないように設定されているようです。複数の引数を単一のオプション(nargs='*'またはnargs='+')に関連付ける方法は知っていますが、それでも-iフラグを複数回使用することはできません。これを達成するにはどうすればよいですか? 明確にするために、私が最後に欲しいのは文字列のリストのリストです。そう [["input1_url", "input1_name", "input1_other"], ["input2_url", "input2_name", "input2_other"], ["input3_url", "input3_name"]]

11
python argparseを使用して複数のネストされたサブコマンドを解析する方法は?
私は次のようなインターフェイスを持つコマンドラインプログラムを実装しています: cmd [GLOBAL_OPTIONS] {command [COMMAND_OPTS]} [{command [COMMAND_OPTS]} ...] 私が通過したargparseドキュメント。をGLOBAL_OPTIONS使用add_argumentしてオプションの引数として実装できますargparse。そして、サブコマンド{command [COMMAND_OPTS]}を使用します。 ドキュメントから、サブコマンドは1つしか持てないようです。しかし、ご覧のとおり、1つ以上のサブコマンドを実装する必要があります。を使用してそのようなコマンドライン引数を解析するための最良の方法は何argparseですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.