没有破折号参数的argparse(只是输入源文件路径)

时间:2013-10-14 04:51:52

标签: python-2.7 argparse

问题:

是否可以执行: test_argparse.py c:\ folder \ somefile.txt 并获取

打印结果:命名空间(filepath ='c:\\ folder \\ somefile.txt')

添加 -filepath 并不是什么大问题,但只是想知道是否有某种方法可以跳过它,如果你只需要传入一个文件路径。

工作代码:

filename: test_argparse.py

import argparse

parser = argparse.ArgumentParser()

parser.add_argument('-filepath', metavar='in-file')
results = parser.parse_args()

print results

执行: test_argparse.py -filepath c:\ folder \ somefile.txt

打印结果:命名空间(filepath ='c:\\ folder \\ somefile.txt')

1 个答案:

答案 0 :(得分:1)

我想你想要一个positional参数。您可以指定参数名称,在本例中为filepath,但不包含任何前缀( - )。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('filepath', metavar='in-file')

results = parser.parse_args('test'.split())
# Namespace(filepath='test')
results = parser.parse_args()
print results