我正在构建一个脚本,它使用参数来配置行为,并应读取未定义数量的文件.使用以下代码可以读取一个文件.有没有办法实现这一点,而不必设置另一个参数,告诉脚本应该读取多少文件?
parser = argparse.ArgumentParser()
parser.add_argument("FILE", help="File to store as Gist")
parser.add_argument("-p", "--private", action="store_true", help="Make Gist private")
Run Code Online (Sandbox Code Playgroud)
Col*_*lin 23
是的,将您的"FILE"
行更改为:
parser.add_argument("FILE", help="File to store as Gist", nargs="+")
Run Code Online (Sandbox Code Playgroud)
这将收集列表中的所有位置参数.如果没有至少一个操作,它也会产生错误.
查看nargs文档
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-FILE', action='append', dest='collection',
default=[],
help='Add repeated values to a list',
)
Run Code Online (Sandbox Code Playgroud)
用法:
python argparse_demo.py -FILE "file1.txt" -FILE "file2.txt" -FILE "file3.txt"
Run Code Online (Sandbox Code Playgroud)
在你的python代码中,你可以在collection
变量中访问它们,它实际上是一个列表,默认情况下是一个空列表; 以及包含您提供给它的任意数量参数的列表.
归档时间: |
|
查看次数: |
8955 次 |
最近记录: |