2012-03-18 1 views
4

Я пытаюсь использовать optparse (для анализа параметров командной строки для моего скрипта) и fileinput (чтобы иметь возможность предоставлять данные через канал или файл).Удалить анализируемые параметры и их значения из sys.argv

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», а также имя файла, в результате чего «Нет такого файла или каталога ошибки». Так что либо мне нужно сделать fileinput args, либо удалить проанализированные параметры из sys.argv, но я не знаю, как это сделать. Любые указатели?

ответ

6

От documentation:

Чтобы указать альтернативный список имен файлов, передать его в качестве первого аргумента input(). Также разрешено одно имя файла.

Таким образом, вы можете просто передать в пережиток args вы получаете от optparse.

+0

Aargh. Большое спасибо. Не могу поверить, что я пропустил это. – Ranjan