Я настраиваю скрипт Python для расчета оценки риска. Сценарий нужно будет запускать из командной строки, и он будет включать все переменные, необходимые для расчета.
Необходимый формат: python test.ipynb Возраст 65 Пол Мужской
Возраст и пол — это имена переменных, причем переменными являются 65 (целое число лет) и Мужской пол (категориальное число).
Я очень новичок в Python, поэтому уровень навыков низкий. - искал примеры - Читать о getopt и optoparse - Попытка написать код Python для достижения этой цели
import sys, getopt
def main(argv):
ageValue = 0
genderValue = 0
try:
opts, args = getopt.getopt(argv,"",["Age","Gender"])
except getopt.GetoptError:
print ('Error, no variable data entered')
sys.exit(2)
for opt, arg in opts:
if opt == "Age":
ageValue = arg
if opt == "Gender":
genderValue = arg
print ('Age Value is ', ageValue)
print ('Gender Value is ', genderValue)
Это вывод из этого кода -
Значение возраста равно 0
Значение пола равно 0
Ожидаемый результат
Значение возраста: 65 лет.
Гендерное значение - мужской






Я использую Аргпарс. Вот код.
import argparse
parser = argparse.ArgumentParser(description='Do a risk thing')
parser.add_argument('-a', '--age', dest='age', type=int, help='client age')
parser.add_argument('-g', '--gender', dest='gender', type=str, help='client gender')
args = parser.parse_args()
print('Age: {}\nGender: {}'.format(args.age, args.gender))
Использование python test.py --age 25 --gender male.
Обратите внимание, что это не будет работать с ноутбуком Python. Для этого я не уверен в решении. Кроме того, вы действительно можете настроить argparse, поэтому я рекомендую прочитать документы.
import argparse
if __name__ == "__main__"
parser.add_argument('-age', required=True)
parser.add_argument('-gender', required=True)
args = vars(parser.parse_args())
print(args['age'], args['gender'])
Спасибо, ваш пример вполне понятен. Структура вашего кода имеет для меня гораздо больше смысла, чем другие примеры, которые я нашел.