如何在Python中通过命名空间对象访问argparse位置参数

时间:2018-08-29 10:28:51

标签: python argparse

我正在尝试通过argparse使用位置参数,但是我无法访问此参数值... 我试图查看python中关于argparse的文档,但是我没有发现任何真正清晰的东西,也没有在其他线程上找到它。

这是我的代码:

parser = argparse.ArgumentParser(description='valid arguments')
parser.add_argument('file_liste', type=str, help='give a valid list')
args = parser.parse_args()
print(args)

这是我得到的结果:

Namespace(file_liste='my_list.txt')

这是我启动脚本的命令行:

python my_script.py my_list.txt

我想要的是我的脚本以txt文件作为参数来读取它,但是我无法访问应存储在名为“ file_liste”的变量中的该值。

我尝试了这个,但出现错误:

print(args[0], "this is args[0]")
TypeError: 'Namespace' object does not support indexing

这可能是愚蠢的事情,但是我没有找到我能理解的答案...

1 个答案:

答案 0 :(得分:2)

args为您提供了参数,正如错误所示,该参数不支持索引。 它为您提供了命名项目,例如

args.file_liste

将是您要求的文件列表。