2017-02-10 14 views
0

私はPythonでgetoptを使用しています。基本的な使い方を知っています。 しかし、オプションの後に2つ以上の引数を解析する方法があるのだろうかと思います。Pythonでgetoptを使ってオプションの後に2つ以上の引数を解析するには?

python test.py -a 111 -b 222 333 

オプション '-b'を解析すると「222」と「333」の両方を取得する方法。実際には '222'しか捕捉できません。

あなたが(なぜoptparseは、なぜですか?)argparse使用する
+0

あなたが解析する際に、CSVやスプリットを使用しますか? 222,333 – AK47

+0

@tehjokerそうですね、追加文字を追加する方法です。たぶんgetoptには私が望む方法が含まれていないかもしれません。 – gdbb

答えて

1

>>> parser = argparse.ArgumentParser() 
>>> parser.add_argument('--foo', action='append') 
>>> parser.parse_args('--foo 1 --foo 2'.split()) 
Namespace(foo=['1', '2']) 

ドキュメントから: https://docs.python.org/3/library/argparse.html

例:

python test.py -a 111 -b 222 -b 333 -b 4444 
0

パラメータ 'NARGSは' 内のことを行うことができますargparse。

>>> parser = argparse.ArgumentParser() 
>>> parser.add_argument('--foo', nargs=2) 
>>> parser.add_argument('bar', nargs=1) 
>>> parser.parse_args('c --foo a b'.split()) 
Namespace(bar=['c'], foo=['a', 'b']) 

python --foo 111 222 

argparse documentation

関連する問題