python - 选择带有“-x”参数的 argparse 选项
问题描述
客户要求 Python 脚本中的新参数应具有以下两个值之一:-l
或-t
.
下一个代码有什么问题以及为什么会产生错误?
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("action", choices=['-l', '-t'])
parser.parse_args(['-t'])
usage: [-h] {-l,-t}
: error: the following arguments are required: action
解决方案
问题是-t
似乎正在开始一个新的选择。-
可以通过预先插入伪参数来处理字面上包含的参数'--'
(请参阅文档)。
在运行时:
args = parser.parse_args(['--', '-t'])
或从外壳:
python myscript.py -- -t
推荐阅读
- c - 调用结构数组的函数(“未定义函数”的问题) 使用 typedef 应该可以解决吗?
- python - 使用 *.dbc 文件转换 CANopen 原始数据的工具?
- python - python如何在这段代码中为类添加属性?
- corda - TypedQuery serviceHub.withEntityManager 返回消费状态
- git - GitHub 和 GitLab 在一个目录中运行
- flutter - 如何一个一个播放多个音频?
- delphi - 项目引发异常类 EListError,并带有消息“列表索引超出范围 (1)”。进程停止。使用 Step 或 Run 继续
- vue.js - 选择项目时 vue-simple-suggest 出错
- javascript - 使用 setState 更新不变性助手将对象拼接到状态数组中
- mysql - MySQL 删除外键约束并删除 NOT NULL