我正在设置Python脚本来计算风险评分。该脚本将需要从命令行运行,并将包含计算所需的所有变量。
所需格式为: python test.ipynb 65岁性别男性
年龄和性别是变量名,其中65(整数年)和Male(类别)是变量。
我是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
性别价值是男性
答案 0 :(得分:2)
Argparse是我使用的。这是一些代码。
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中配置一下,所以我建议阅读文档。
答案 1 :(得分:2)
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'])