Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 仅当设置了另一个参数时才需要参数_Python_Argparse - Fatal编程技术网

Python 仅当设置了另一个参数时才需要参数

Python 仅当设置了另一个参数时才需要参数,python,argparse,Python,Argparse,我正在编写一个Python命令,该命令有一个选项,如果使用该选项,则需要两个参数。一个参数是字符串,另一个是一个或多个字符串的列表。如果命令语法可以如下所示,那就太好了: mycommand requiredarg [optionalarg optList...] 我知道我可以为optionalarg设置nargs='?',为optList设置nargs='*'以获得类似的结果,但这将允许设置一个而不设置另一个 mycommand 'thing' # Good mycommand 'thin

我正在编写一个Python命令,该命令有一个选项,如果使用该选项,则需要两个参数。一个参数是字符串,另一个是一个或多个字符串的列表。如果命令语法可以如下所示,那就太好了:

mycommand requiredarg [optionalarg optList...]
我知道我可以为
optionalarg
设置
nargs='?'
,为
optList
设置
nargs='*'
以获得类似的结果,但这将允许设置一个而不设置另一个

mycommand 'thing'  # Good
mycommand 'thing' 'ama'  # Should be an error
mycommand 'thing' 'ama' 'bob'  # Good
mycommand 'thing' 'ama' 'bob' 's'  # Good

在argparse中是否有这样做的方法?

如果您没有使用标记参数(
optionals
),只需查看
sys.argv
,然后自己分配字符串可能会更简单。如果您没有使用标记参数(
optionals
),查看sys.argv并自己分配字符串可能更简单。