因此,我有一个用于解析和绘制文本文件数据的python脚本。参数处理是通过argparse模块完成的。问题是,有些参数是可选的,例如其中一个用于在情节上添加文本注释。这个参数通过**kwargs发送给绘图函数。我的问题是——处理这些可选参数的最python的方法是什么?下面是一些伪代码:
parser = argparse.ArgumentParser()
...
parser.add_argument("-o", "--options", nargs="+", help="additional options")
args = parser.parse_args()
...
def some_function(arguments, **kwargs):
doing something with kwargs['options']
return something
...
arguments = ...
some_function(arguments, options=args.options)
如果默认不指定选项,则不赋值。这也带来了一些问题。什么是更python -以某种方式检查some_function中的'options' ?或者在some_function被调用之前解析参数?
您可以直接提供一个显式的空列表作为默认值。
parser.add_argument("-o", "--options", nargs="+", default=[])
如果在字典中没有找到键,则使用get
并设置默认值
def some_function(arguments, **kwargs):
something = kwargs.get('options', 'Not found')
return something
或if语句
if 'option' in kwargs:
pass # do something