У меня есть код для тестирования функции модуля 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.
это потому, что вы запускаете файл python, не передавая никаких параметров.
вы не должны запускать его напрямую.
вы можете запустить его в терминале следующим образом:
$ python3 test11.py -a 1 -b 123
PyCharm не будет передавать аргументы сценариям при их запуске. И вы определили оба аргумента как необязательные.
Вам нужно отредактировать конфигурацию запуска, чтобы передать аргументы, если вы хотите запустить из pycharm.
Перейдите к test1
(верхний правый угол) -> Редактировать конфигурации -> Параметры (текстовое поле)
И добавьте туда свои аргументы.
-a 3 -b 2
Затем сохраните конфиг и запустите его.
Хорошо, что вы упомянули PyCharm. Я видел похожие вопросы, где требовалось много вопросов, чтобы выяснить это. Интересно, есть ли способ, которым PyCharm может поймать такую ошибку и удержать пользователя за руку. Предполагается, что он улавливает многие другие виды ошибок.