0

问题:

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

打印结果:Namespace(filepath='c:\\folder\\somefile.txt')

添加-filepath没什么大不了的,但只是想知道如果您只需要传入文件路径,是否有某种方法可以跳过它。

工作代码:

文件名: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

打印结果:Namespace(filepath='c:\\folder\\somefile.txt')

4

1 回答 1

2

我想你想要一个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
于 2013-10-14T15:53:57.427 回答