在 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
最佳答案
parse_args()
返回的元组中的第二个值是剩余参数的列表。如果只想处理第一个,很简单:
print infile[0]
顺便说一句,如果您使用的是 Python 2.7 或更高版本,argparse
比 optparse
更好。使用 argparse
,您可以显式声明您的位置参数(请参阅文档)。这意味着解析器可以检查用户是否恰好传递了一个位置参数(例如),并将其添加到 --help
输出中。
关于python - 从 optparse python 获取最后一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26458834/