我有一个字符串,可以表示多个参数,例如
from jira.client import JIRA
jira = JIRA(options={'server': 'https://server.atlassian.net'},
basic_auth=('email@example.com', 'pass'))
我有一个定义为--arg1 val --arg2 val2
的选项,可以读取所有剩余的参数,我希望能够将其作为一个字符串而不是作为参数列表。
注意事项:我的值可能包含多个空格,并且想在解析的字符串中保留多个空格,例如,
argparse.REMAINDER
有没有办法做到这一点?
我没有找到一种方法可以将剩余的字符串吸收为argparse中的一个完整字符串。
假设此代码如下所示,
--arg1 the longest bridge --arg2 very true
参数字符串为
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--class')
parser.add_argument('--value')
parser.add_argument('--parameters', nargs=argparse.REMAINDER)
我希望看到如下结果,
--class runner --value 3 --parameters --arg1 thread --desc the whole world
答案 0 :(得分:0)
它是用于分隔命令行参数的外壳,因此在调用脚本时只需要引用parameters
参数,而无需使用argparse.REMAINDER
。例如:
import argparse
import sys
parser = argparse.ArgumentParser()
parser.add_argument('-a')
parser.add_argument('-p')
print(sys.argv[1:])
print(parser.parse_args())
从Bash拨打电话:
$ ./test.py -a 3 -p 'the whole world'
输出:
['-a', '3', '-p', 'the whole world']
Namespace(a='3', p='the whole world')