在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
答案 0 :(得分:1)
parse_args()
返回的元组中的第二个值是剩余参数的列表。如果您只想处理第一个,那很简单:
print infile[0]
顺便说一下,如果您使用的是Python 2.7或更高版本,argparse
优于optparse
。使用argparse
,您可以明确声明您的位置参数(请参阅文档)。这意味着解析器可以检查用户是否只传递了一个位置参数(例如),并将其添加到--help
输出。