Python 检查参数是否存在,并相应地设置一个值
我试图用Python编写一个程序,该程序需要检查参数是否存在,然后相应地设置要在程序中使用的值。例如:Python 检查参数是否存在,并相应地设置一个值,python,argparse,Python,Argparse,我试图用Python编写一个程序,该程序需要检查参数是否存在,然后相应地设置要在程序中使用的值。例如: abc-a-b -a和-b都是可选的。但是-a为程序提供某个端口号(比如端口1234)的默认值。但是如果存在-b,则程序必须默认为不同的端口号(比如2215) 如何使用argparse?您可以这样做: import argparse parser = argparse.ArgumentParser() parser.add_argument('-a',
abc-a-b
-a
和-b
都是可选的。但是-a
为程序提供某个端口号(比如端口1234)的默认值。但是如果存在-b
,则程序必须默认为不同的端口号(比如2215)
如何使用
argparse
?您可以这样做:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-a',
action='store_const',
const=1234,
dest='port')
parser.add_argument('-b',
action='store_true',
dest='port_override')
args = parser.parse_args()
if args.port_override:
args.port = 2215
print(args.port)
这告诉argparse
如果指定了-a
,则值1234
将存储在args.port
中。此外,如果指定了-b
,则args.port\u override
将为True
。执行参数解析后,我们可以检查args.port\u override
的值
你也可以这样做:
parser.add_argument('-b',
action='store_const',
const=2215
dest='port')
在这种情况下,以第二个为准将优先于另一个