首页  >  文章  >  后端开发  >  如何使用 argparse 将参数列表传递给命令行程序?

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

Barbara Streisand
Barbara Streisand原创
2024-10-30 04:10:28846浏览

How can you pass a list of arguments to a command-line program using argparse?

使用 argparse 将列表作为命令行参数传递


构建命令行程序时,允许用户传递列表作为参数。 argparse 使这成为可能,并提供了几个选项来完成此操作。


nargs


要接收参数列表,使用“nargs”参数。指定“ ”接受一个或多个参数,“*”接受零个或多个参数,“?”接受零或一,或特定数字(如 2)以接受确切数量的参数。


parser = argparse.ArgumentParser()<br>parser.add_argument('- l', '--list', nargs=' ')<br>

这种方法使用户可以轻松地在单个输入中提供多个参数。


append


或者,您可以使用“append”操作将遇到的每个参数追加到列表中。 /p>

parser.add_argument('-l', '--list', action='append')<br>

此方法需要用户多次指定该标志,每个要包含在列表中的参数一个。


避免 type=list


< ;p>虽然将“类型”设置为“列表”似乎很直观,但不建议这样做,因为它返回列表的列表,而不是展平的列表。这可能会导致意外行为。


用法示例


考虑一个用户需要传递列表的脚本

parser = argparse.ArgumentParser()<br>parser.add_argument('-l', '--list', nargs=' ', type=int)<br>

这允许用户输入多个整数,然后这些整数会自动转换为整数列表并存储在 'list' 变量中。


注意:



  • 避免在命令行上使用引号,因为它们会干扰 argparse 的解析。
  • 不要使用 type=list,因为它会导致列表列表而不是扁平列表。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn