python - 从 optparse python 获取最后一个参数

标签 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

最佳答案

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

print infile[0]

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

关于python - 从 optparse python 获取最后一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26458834/

相关文章:

linux - 期望脚本 - 期望 2 个条件并从 bluetoothctl 中提取 MAC 添加

linux - 为什么在 linux 中需要连续内存分配?

Python optparse 和参数中的空格

Python:argparse 读取 csv 文件以发挥作用

python - 如何连接具有公共(public)列值的行?

python - 如何检查用于视频的编码器

python - 为什么我创建字典时数据循环多次?

python - Django celery : Passing request Object to worker

regex - Grep 所有不以#(哈希)或贪心空格和#(哈希)开头的行

python - 在 python 中使用 optparse 解析非 GNU 标准选项