从optparse python获取最后一个参数

时间:2014-10-20 05:02:24

标签: python linux optparse

在optparse中,我使用两个标志,我希望在标志之后获得下一个值。我的要求是我可能会给出任何选项,甚至两个选项,所以我使用这些选项,如标志。我使用parser.parse_args()来获取值,但问题是我得到的输出包括一些括号。

#!/usr/bin/python

import optparse
import sys
import os.path

parser = optparse.OptionParser()
parser.add_option('-p',  action='store_true', default=False, dest='DEST1', help="Some info")
parser.add_option('-k',  action='store_true', default=False, dest='DEST2', help="Some info")
options, infile = parser.parse_args()
print infile

文件的O / P是

/myfile.py -p abc1
['abc1']

我只需要文件名为abc1

1 个答案:

答案 0 :(得分:1)

parse_args()返回的元组中的第二个值是剩余参数的列表。如果您只想处理第一个,那很简单:

print infile[0]

顺便说一下,如果您使用的是Python 2.7或更高版本,argparse优于optparse。使用argparse,您可以明确声明您的位置参数(请参阅文档)。这意味着解析器可以检查用户是否只传递了一个位置参数(例如),并将其添加到--help输出。