我有一个变量,它是函数的确切名称,但是以字符串格式.例如...
ran_test_opt = "random_aoi"
Run Code Online (Sandbox Code Playgroud)
而且功能是
def random_aoi():
logging.info("Random AOI Test").
Run Code Online (Sandbox Code Playgroud)
从配置文件接收,因此无法更改.有没有办法可以将字符串转换为我可以调用函数的格式?即
ran_test_opt()
Run Code Online (Sandbox Code Playgroud)
这将运行random_aoi函数.
当然,你可以使用globals:
func_to_run = globals()[ran_test_opt]
func_to_run()
Run Code Online (Sandbox Code Playgroud)
或者,如果它位于不同的模块中,您可以使用getattr:
func_to_run = getattr(other_module, ran_test_opt)
func_to_run()
Run Code Online (Sandbox Code Playgroud)