我一直在使用argparse
从命令行运行Python脚本。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-foo', type = str, nargs = '*')
args = parser.parse_args()
从命令行,这将允许我编写类似:
的内容 python myscript.py -foo "value A" "value B" "value C"
在python中会变成
['value A', 'value B', 'value C']
但是现在如果我想传递该列表中的缺失值呢?如:
['value A', None, 'value C']
谢谢!
答案 0 :(得分:2)
据我所知,没有一个无法实现。 argv
将始终是字符串列表,因此"最空的"是空字符串""
:python myscript.py -foo "value A" "" "value C"
编辑:
结果证明你可以将任何带有1个字符串参数的可调用传递给type
的{{1}}参数。例如,如果您希望将空字符串视为add_argument
,将任何其他值视为None
:
float