Я хотел бы знать, как использовать модуль argparse python для чтения аргументов как из командной строки, так и, возможно, из текстовых файлов. Я знаю о fromfile_prefix_chars
argparse, но это не совсем то, что мне нужно. Мне нужно поведение, но мне не нужен синтаксис. Я хочу, чтобы интерфейс выглядел так:
$ python myprogram.py --foo 1 -A somefile.txt --bar 2
Когда argparse увидит -A, он должен прекратить чтение из sys.argv или того, что я ему даю, и вызвать написанную мной функцию, которая будет читать somefile.text и возвращать список аргументов. Когда файл исчерпан, он должен возобновить синтаксический анализ sys.argv или чего-то еще. Важно, чтобы обработка аргументов в файле происходила по порядку (то есть: -foo должен быть обработан, затем аргументы в файле, затем -bar, чтобы аргументы в файле могли переопределить --foo, и -- bar может переопределить то, что находится в файле).
Возможно ли такое? Могу ли я написать пользовательскую функцию, которая помещает новые аргументы в стек argparse или что-то в этом роде?
argparse.ArgumentParser
. - person martineau   schedule 12.12.2014