4

我正在尝试使用 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”选项以及文件名,导致“没有这样的文件或目录错误”。因此,要么我需要制作文件输入参数,要么从 sys.argv 中删除已解析的选项,但是我不知道一种优雅的方法。任何指针?

4

1 回答 1

6

文档中:

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

所以你可以把args你从optparse.

于 2012-03-18T06:06:50.850 回答