使用 argparse 将列表作为命令行参数处理
在 Python 中,argparse 模块有助于解析命令行参数。使用列表作为参数时,了解适当的选项至关重要。
nargs
一种方法是使用 nargs,它指定一个对象接受的参数数量。选项。默认情况下,nargs=1 接受单个参数。但是,使用 nargs=' ' 或 nargs='*' 允许多个参数。
<code class="python">parser.add_argument('-l', '--list', nargs='+', help='Set flag')</code>
action='append'
另一种选择是 action='append '。这种方法将每个遇到的参数附加到列表中,而不是将它们收集在单个参数中。
<code class="python">parser.add_argument('-l', '--list', action='append', help='Set flag')</code>
避免 type=list
相反,使用 type=list通常不建议与 argparse 一起使用。它将每个参数解释为一个列表,从而产生一个列表列表。
演示
提供的代码演示了这些选项的用法:
<code class="python">import argparse parser = argparse.ArgumentParser() # Demonstration with nargs parser.add_argument('--nargs', nargs='+') # Demonstration with action='append' parser.add_argument('--append-action', action='append') for _, value in parser.parse_args()._get_kwargs(): if value is not None: print(value)</code>
输出:
假设使用 python arg.py --nargs 1234 2345 3456 4567 调用脚本,则 nargs 的输出将是:
['1234', '2345', '3456', '4567']
或者,使用 python arg.py --append-action 1234 --append-action 2345 --append-action 3456 --append-action 4567 调用脚本将产生:
['1234', '2345', '3456', '4567']
准则
以上是如何在 Python 中使用 argparse 将列表作为命令行参数处理?的详细内容。更多信息请关注PHP中文网其他相关文章!