从sys.argv中删除已解析的选项及其值

时间:2012-03-18 06:03:23

标签: python file-io python-2.5 optparse

我正在尝试使用optparse(解析我的脚本的命令行选项)和fileinput(以便通过管道或文件提供数据输入的灵活性)。

import optparse, fileinput

parser = OptionParser()    
parser.add_option("-v", action="store_true", dest="verbose")
(options, args) = parser.parse_args()

for line in fileinput.input:
     process(line)

但是fileinput尝试使用'-v'选项以及文件名导致'No such file or directory error'。所以要么我需要创建fileinput args,要么从sys.argv中删除已解析的选项,但是我不知道这样做的优雅方式。有什么指针吗?

1 个答案:

答案 0 :(得分:6)

来自documentation

  

要指定备用文件名列表,请将其作为input()的第一个参数传递。也允许使用单个文件名。

所以你可以传递你从args获得的剩余optparse