python - 如何使 argparse 将所有参数视为位置?
问题描述
如何使argparse解析器将所有参数视为positional,即使是那些看起来像选项的参数?例如,使用此定义:
parser.add_argument('cmd', nargs='*', help='The command to run')
我希望能够跑步
prog.py mycomand --foo arg
并被['mycomand', '--foo', 'arg']
捕获为cmd
论据。
解决方案
原来我只需要替换nargs='*'
为nargs=argparse.REMAINDER
. 从文档:
argparse.REMAINDER
所有剩余的命令行参数都被收集到一个列表中。这对于调度到其他命令行实用程序的命令行实用程序通常很有用。
这也有效,但不太方便:
prog.py mycomand -- --foo arg
推荐阅读
- babeljs - 如何在生产构建中使用 Babel 删除 Web API 性能时间线调用
- ghost-blog - 运行“幽灵启动”时出错
- html - XSLT 通用解决方案,用于从 XML 中获取分层 html 表
- scala - scala中的理解半并行调用
- javascript - 使用 puppeteer 打印 PDF 时,如何获取打印元素的页面?
- python - Python package cannot find one of its modules after installation
- python - 逻辑索引python
- c# - 为什么 TextInfo.ToTitleCase 在字母全部为大写的字符串上无法正常工作?
- visual-c++ - 应用程序无法正确启动 (0xc000007b)。WAMP 服务器错误
- c# - 在不同的列上使用 LINQ 连接三个表并在最后打印总和