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

Ran*_*jan 4 python file-io optparse python-2.5

我试图使用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)
Run Code Online (Sandbox Code Playgroud)

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

Dav*_*d Z 6

文档:

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

所以你可以传递args你得到的剩余物optparse.