使用argparse模块在Python中设置两个互斥选项的默认选项

时间:2012-02-20 17:22:45

标签: python argparse

import argparse

parser = argparse.ArgumentParser(description="List or update! That is the question!")

group = parser.add_mutually_exclusive_group()
group.add_argument('-l', '--list', dest="update", action='store_false')
group.add_argument('-u', '--update', dest="update", action='store_true')

args = parser.parse_args()
print args

如果用户没有指定任何我想要update=False的可选参数。

[编辑]:我把问题改为不那么笼统,令人困惑。抱歉。

3 个答案:

答案 0 :(得分:0)

您应该为2个选项设置不同的dest

group.add_argument('-f', '--foo', dest="foo", action='store_false')

答案 1 :(得分:0)

我认为你想要add_mutually_exclusive_group()。文档为here

答案 2 :(得分:0)

default=False选项的参数添加--list可让您按照自己的意愿行事。我不确定原因,并注意将其添加到--update选项的参数中却什么都不做。