[英]Parsing arguments with python argparse
我找不到所需的示例来解析参数。 其中带有:
的名称是已知列表(它们中的30个),它们后面的值可能有也可能没有值,但是有些是必需的。
creatAlert.py call_type: I alert_id: 25 message: STATUS OF AGENT PLATFORM notes:
因此,我试图仅解析call_type: I
没有运气。 我'I'
在call_type
变量中得到'I'
的call_type
什么?
parser = argparse.ArgumentParser()
parser.add_argument("call_type:", type=str, help="Testing")
args = parser.parse_args()
print args.call_type
是否需要特殊技巧来处理带有空格的message参数?
argparse
期望与提供的格式不同。 如果您的上游应用程序未遵循argparse
约定,则argparse
将无法轻松工作。
相反,我建议您将整个输入行作为字符串。 搜索冒号并将这些单词的行分隔开,将结果值放入字典中。 蛮力就很容易(足够)了。
同
import sys
print(sys.argv)
2328:~/mypy$ python3 stack51195799.py call_type: I alert_id: 25 message: STATUS OF AGENT PLATFORM notes:
['stack51195799.py', 'call_type:', 'I', 'alert_id:', '25', 'message:', 'STATUS', 'OF', 'AGENT', 'PLATFORM', 'notes:']
argparse
尝试解析argv[1:]
,在这种情况下为10个字符串的列表。 “:”对shell(用于分割命令行)或解析器没有任何特殊含义。
如果直接解析该列表,则必须使用该列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.