Convert string into a function call
我有一个变量,它是一个函数的确切名称,但是是字符串格式的。例如。。。
1 | ran_test_opt ="random_aoi" |
功能是
1 2 | def random_aoi(): logging.info("Random AOI Test"). |
从配置文件接收,因此无法更改。有没有方法可以将字符串转换成我可以调用函数的格式?即
1 | ran_test_opt() |
它将运行随机的_Aoi函数。
当然可以,您可以使用
1 2 | func_to_run = globals()[ran_test_opt] func_to_run() |
或者,如果它在不同的模块中,您可以使用
1 2 | func_to_run = getattr(other_module, ran_test_opt) func_to_run() |