Удалить проанализированные параметры и их значения из sys.argv - PullRequest
4 голосов
/ 18 марта 2012

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

1 Ответ

6 голосов
/ 18 марта 2012

Из документации :

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

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

...