在我的python程序中,我必须调用类似这样的函数:
driver_name.project.paired_config_L1_M_10g()
我调用的函数取决于我在三个变量中存储的值,即:
varA == M
varB == L1
varC = 10g
varA
,varB
和varC
每个可以有大约20个不同的值,我不想为它们中的每一个写一个函数调用(虽然实际的功能定义存在。)通常我希望函数调用为:
driver_name.project.paired_config_$varA_$varB_$varC()
但这似乎不起作用。建议?
答案 0 :(得分:1)
您可以使用getattr
。它将对象和属性名称作为字符串并返回该属性。这里返回的值是一个可以立即调用的方法。
getattr(driver_name.project, 'project_config_%s_%s_%s' % (varA, varB, varC))()
答案 1 :(得分:0)
您是否将字典视为一种可能的解决方案?
使用正确的键(varA,varB,varC)和define函数初始化字典。然后打电话给它。
driver_func_dict['ML110g'] = driver_name.project.paired_config_M_L1_10g
#init more dictionary items here
...
#call function
driver_funct_dict[str(varA)+str(varB)+str(varC)]()