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