Понимание модуля argparse в python
Я пытаюсь работать с argparse в Python, и я не знаю, как вызвать программу из командной строки, чтобы посмотреть, работает ли она.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("DocID", type= int, help= "Insert DocID Here")
parser.add_argument("echo", help = "Enter in the FileName to be read")
args = parser.parse_args()
print args
Это моя невероятно простая программа, которую я пытаюсь использовать, просто чтобы узнать больше о том, как работает argparse. Мне просто нужно узнать, как и где вызывать программу, чтобы использовать аргументы, которые я ей предоставляю.
Изменить: Чтобы сделать мой вопрос более ясным извините. У меня есть этот код, но я не знаю, как вызвать программу в целом, чтобы я мог ее запустить. Например, как мне запустить это в командной строке? Потому что при запуске просто в IDLE выдает ошибку и из-за отсутствия команд
2 ответа
АргументПарсера parse_args
Метод может принимать список в качестве входных данных. Этот список используется для анализа аргументов командной строки. Итак, общая идиома это:
args = parser.parse_args('-a -b -c --value=True'.split())
поскольку str.split
возвращает список. ('a b c'.split() == ['a', 'b', 'c']
)
Обычно, когда вы добавляете аргументы, вы делаете это так:
parser.add_argument('-a', '--a-long-name', type=int, ...)
Аргументы без -
или же --
впереди позиционные аргументы, поэтому оба ваших аргумента являются позиционными. Вы можете увидеть немного из того, что происходит, если вы делаете:
args = parser.parse_args(['1','foo'])
print args.DocID # 1
print args.echo # foo
что аналогично вызову вашего скрипта как python youscript.py 1 foo
(без списка внутри parse_args
).
Если вы хотите знать синтаксис командной строки сценария... просто вызовите его с помощью --help, argparse автоматически предоставит его вам.
⚫ gbin@sal tmp % python test.py --help
usage: test.py [-h] DocID echo
positional arguments:
DocID Insert DocID Here
echo Enter in the FileName to be read
optional arguments:
-h, --help show this help message and exit