2
我在面臨的一個問題,當我混合位置參數,可選參數和argparse.REMAINDER
混合位置和可選的參數在argparse
parser = argparse.ArgumentParser()
parser.add_argument('verbose', action="store")
parser.add_argument('--config', '-c', nargs="?", dest="config_file")
parser.add_argument('--dry-run', action="store_true", dest="dryrun")
parser.add_argument('args', nargs=argparse.REMAINDER, action="store")
採樣運行:
python test.py verose="5" --config config.xml graph --dry-run
預期輸出:
verbose = "5"
config_file = config.xml
dryrun = True
args = ['graph']
實際產量:
verbose = "5"
config_file = config.xml
dryrun = False
args = ['graph', '--dry-run']
我的要求是我verbose
,-c
,--config
和--dry-run
作爲命令行選項,在命令行提供的任何其他選項應該被存儲在列表args
無論在命令行的參數出現的順序的。 請幫我在做錯的地方。 還有沒有其他更好的命令行解析器的Python?
我想我的問題是非常愚蠢的!但是非常感謝。你的回答解決了我的問題:) – 2013-03-23 06:09:07
提問是絕不愚蠢的(當然在提問前提供了一點研究成果)。另請參閱我在答案中的其他評論。 – 2013-03-23 06:10:31