Фрагмент кода argparse распечатывает только часть журнала - PullRequest
0 голосов
/ 30 мая 2019

У меня есть код для тестирования argparse функции модуля:

import argparse

parser = argparse.ArgumentParser()
parser.description='give me two number, I will return the product'
parser.add_argument("-a","--ParA", help="I am A",type=int)
parser.add_argument("-b","--ParB", help="I am B",type=int)
args = parser.parse_args()
if args.ParA:
    print("A is: ",args.ParA)
if args.ParB:
    print("B is:",args.ParB)
if args.ParA and args.ParB:
    print("the product is: ",args.ParA*args.ParB)


print('over.')

, но когда я запускаю его в своем PyCharm, там выдается только over.

enter image description here

Ответы [ 2 ]

1 голос
/ 30 мая 2019

PyCharm не будет передавать аргументы сценариям, когда вы их запускаете. И вы определили оба ваших аргумента как необязательные.

Вам нужно отредактировать свою конфигурацию запуска, чтобы передать аргументы - если вы хотите запустить из pycharm.

Перейти к test1 (правый верхний угол) -> Изменить конфигурации -> Параметры (текстовое поле)

И добавьте свои аргументы там.

-a 3 -b 2

Затем сохраните конфигурацию и запустите ее.

0 голосов
/ 30 мая 2019

это потому, что вы запускаете файл python, не передавая никаких параметров.

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

вы можете запустить его в терминале следующим образом:

$ python3 test11.py -a 1 -b 123
...