У меня есть скрипт Python, который принимает несколько файлов в качестве обязательных аргументов, которые я анализирую с помощью argparse
< /а>.
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--imgtfile", required=True, help="IMGT file")
parser.add_argument("-s", "--fastqfile", required=True, help="FASTQ file")
parser.add_argument("-g", "--gene", required=True, help="Gene to extract")
parser.add_argument("-o", "--outfile", help="name of the output file")
# ... more arguments
argcomplete.autocomplete(parser) # <-- this doesn't help
args = parser.parse_args()
Проблема в том, что файлы имеют довольно длинные и раздражающие имена. Расширение вкладки оболочки отлично работает, если аргументы являются позиционными (т.е. без флагов), но если у меня есть флаги, расширение вкладки больше не работает. С другой стороны, я хотел бы сохранить флаги, чтобы не жестко задавать порядок аргументов.
Я просмотрел argcomplete
, но не могу заставить его работать так, как мне нравится . Похоже, мне либо нужна опция choices
в add_argument
, и/или возиться с bash, чтобы включить глобальное завершение.
Поскольку я работаю удаленно на сервере, я немного консервативен в этом вопросе. Мне кажется, что должен быть более простой способ. Какие-либо предложения?
argcomplete
у вас не работает - person Chris_Rands   schedule 05.12.2016