【发布时间】:2017-01-14 01:04:55
【问题描述】:
所以,我有一个用于解析和绘制来自文本文件的数据的 python 脚本。参数处理是使用 argparse 模块完成的。问题是,有些参数是可选的,例如其中之一用于在绘图上添加文本注释。此参数通过 **kwargs 发送到绘图函数。我的问题是 - 处理这些可选参数的最 Pythonic 方式是什么?这里有一些伪代码:
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)
如果默认情况下未指定选项,则分配无值。它会导致一些问题。什么是更 Pythonic - 以某种方式检查 some_function 中的“选项”?或者在调用 some_function 之前解析参数?
【问题讨论】:
-
还有其他关于将
argparse参数转换为kwargs或接受可以传递的字典类输入的问题。您的options参数只生成一个字符串列表。 -
在使用
argparse和kwargs: stackoverflow.com/questions/33712615/…
标签: python command-line-arguments argparse keyword-argument