python - 使用 python argparse 解析参数
问题描述
我找不到任何示例来以我需要的方式解析参数。其中包含 a 的名称:
是已知列表(其中 30 个),它们后面的值可能有也可能没有值,但有些是必需的。
creatAlert.py call_type: I alert_id: 25 message: STATUS OF AGENT PLATFORM notes:
所以我试图只是解析call_type: I
没有运气。我'I'
在call_type
变量中缺少什么?
parser = argparse.ArgumentParser()
parser.add_argument("call_type:", type=str, help="Testing")
args = parser.parse_args()
print args.call_type
处理包含空格的消息参数是否需要特殊技巧?
解决方案
argparse
期望与提供的格式不同。如果您的上游应用程序不遵循argparse
约定,那么argparse
将不会轻松运行。
相反,我建议您将整个输入行作为一个字符串。搜索冒号并在这些单词处划分行,将结果值放入字典中。这很容易(足够)用蛮力做。
- 找到第一个带有冒号的单词;使它成为 dict 键
- 将单词连接到该键的值中,直到您点击 EOL 或下一个带有冒号的单词。
推荐阅读
- ios - iOS 14 上的 SwiftUI 问题,Scrollview HStack 内容被切断
- node.js - ffmpeg 将视频帧从 url 提取到 Node 中的局部变量
- php - 卷曲错误:错误:14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败111
- reactjs - 加载成功时将路由反应到另一个页面
- angular - 无法通过 docker 容器运行 Angular APP
- mysql - MySQL 安装程序 5.6.49 - 安装错误
- python - 导入的脚本不带参数
- flutter - 为什么 BuildContext 仅在 StatelessWidget.build 中可用,使用它的好方法是什么?
- javascript - D3 Scatterplot v6 无法正确绘图
- javascript - canvasjs.min.js:545 未捕获类型错误:无法读取绘图 CANVASJS 上未定义的属性“可见”