如何使用 argparse 将列表作为参数传递给命令行程序?

DDD
发布: 2024-10-28 05:30:02
原创
988 人浏览过

How Do I Pass a List as an Argument to a Command-Line Program Using argparse?

在 argparse 中将列表作为参数传递

当尝试使用 argparse 将列表作为参数传递给命令行程序时,这是必不可少的了解解析器中表示列表的可用选项。

不推荐:使用 type=list

避免将 type=list 与 argparse 一起使用,因为它可能会导致不正确的结果结果。它将返回一个列表列表,而不是包含所需元素的单个列表。

使用 nargs 作为必需参数

nargs 参数允许您指定的数量选项接受的参数。要将列表作为必需参数传递,请使用:

<code class="python">parser.add_argument('-l', '--list', nargs='+', help='Set flag', required=True)</code>
登录后复制

对可选参数使用 action='append'

对于可选参数,使用 action='append ' 以允许提供参数的多个实例。

<code class="python">parser.add_argument('-l', '--list', action='append', help='Set flag')</code>
登录后复制

调用这些选项的语法

对于 nargs,参数应该一起提供,不带空格,例如:

<code class="bash">python test.py -l 12345678</code>
登录后复制

对于action='append',应多次提供参数,例如:

<code class="bash">python test.py -l 1234 -l 5678</code>
登录后复制

其他注意事项

  • 在命令行上将参数传递给 argparse 时不要使用引号。
  • 如果您希望列表元素进行类型转换(例如,转换为整数),请在 nargs 中使用 type=int设置。
  • 带有 或 * 的 nargs 分别允许 1 个或多个参数,而 ?允许 0 或 1 个参数。对于特定数量的参数,请向 nargs 提供一个整数。

以上是如何使用 argparse 将列表作为参数传递给命令行程序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!