Имам скрипт на Python, който приема няколко файла като задължителни аргументи, които анализирам с argparse
< /a>.
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()
Проблемът е, че файловете имат доста дълги и досадни имена. Разширяването на раздела Shell работи чудесно, ако аргументите са позиционни (т.е. без флагове), но ако имам флагове, разширяването на раздела вече не работи. От друга страна бих искал да запазя флаговете, за да не кодирам твърдо реда на аргументите.
Разгледах argcomplete
, но наистина не мога да го накарам да работи както ми харесва . Изглежда, че или имам нужда от опцията choices
в add_argument
, и/или играя с bash, за да активирам глобалното завършване.
Тъй като работя дистанционно на сървър, съм малко консервативен по този въпрос. Струва ми се, че трябва да има по-прост начин. Някакви предположения?
argcomplete
не работи за вас - person Chris_Rands   schedule 05.12.2016