Member 12173667 Ответов: 1

Парсер аргументов Python 3


я пытаюсь принять аргумент от пользователя для подключения к определенному номеру порта

при попытке принять аргумент
import argparse

args = argparse.ArgumentParser()
args.add_argument("-p", "-port", help="Please enter the port number",action="store_true")
if args.port:
    print("You entered this [" + str(args.port) + "] port number are you sure ??")


я получил эту ошибку


если параметр args.порт:
AttributeError: объект 'ArgumentParser' не имеет атрибута 'port'

Что я уже пробовал:

import argparse

args = argparse.ArgumentParser()
args.add_argument("-p", "-port", help="Please enter the port number",action="store_true")
if args.port:
    print("You entered this [" + str(args.port) + "] port number are you sure ??")

1 Ответов

Рейтинг:
7

Richard MacCutchan

Вам нужно позвонить parse_args() после добавления ваших аргументов, а также двойника -- перед именем аргумента. Попробуй:

import argparse
args = argparse.ArgumentParser()
args.add_argument("-p", "--port", help="Please enter the port number",action="store_true")
args.parse_args()

Также обратите внимание, что этот синтаксический анализатор не будет принимать никакого значения аргумента, так как порт определяется как "store_true"