如何动态加载Python类?
没有可用的函数采用完全限定的类名并返回该类。但是,我们可以定义具有此功能的函数。
示例
以下代码具有这种功能。
def get_class( s ):
parts = s.split('.')
module = ".".join(parts[:-1])
n = __import__( module )
for comp in parts[1:]:
n = getattr(m, comp)
return n该功能的一个用法示例
import datetime
def get_class( cls ):
parts = cls.split('.')
module = ".".join(parts[:-1])
m = __import__( module )
for comp in parts[1:]:
m = getattr(m, comp)
return m
print get_class('datetime.datetime').now()输出结果
这给出了输出
2018-01-23 14:04:09.843000