如何获得python模块的点表示法?
我正在编写一个定制的django模型字段,该字段具有序列化和非序列化操作,在非序列化操作中,我使用获取类并初始化实例 相反,我需要将一个实例序列化到数据库,在我的例子中,我只需要获得模块的点符号 我想问的是,我如何才能,例如我有datetime模块如何获得python模块的点表示法?,python,Python,我正在编写一个定制的django模型字段,该字段具有序列化和非序列化操作,在非序列化操作中,我使用获取类并初始化实例 相反,我需要将一个实例序列化到数据库,在我的例子中,我只需要获得模块的点符号 我想问的是,我如何才能,例如我有datetime模块 from datetime import datetime 如何将点表示法中的datetime输出到字符串“datetime.datetime”?对于您的要求并不完全清楚,但点表示法相当于上述Python示例,例如: import datetime
from datetime import datetime
如何将点表示法中的
datetime
输出到字符串“datetime.datetime”
?对于您的要求并不完全清楚,但点表示法相当于上述Python示例,例如:
import datetime
datetime.datetime
与
from datetime import datetime
datetime
我希望这是有道理的,如果你还有任何问题,请告诉我
这里有一个更好的例子:
>>> import datetime
>>> datetime
<module 'datetime' from '/path/to/python'>
>>> from datetime import datetime
>>> datetime
<type 'datetime.datetime'>
或
以更一般的方式,您可以获得模块
import inspect
from datetime import datetime
inspect.getmro(datetime)[0]
这应该返回“datetime.dateime”您好,我在输出周围添加了字符串引号,希望这能更清楚地说明我想要实现的目标。我不是问如何导入模块,我是在尝试获取模块的点表示法。@JamesLin哦,我明白了。现在正在更新。
>>>从datetime导入datetime>>datetime.\uuuu模块\uuuu+'.+datetime.\uuu类\uuuuuuu名称\uuuuuuuuu日期时间.type'
不会给我'datetime.datetime'
@JamesLin这就是我在输入中调用您的模块的原因,如果它是第一个示例中的类型或对象,请使用inspect模块。的可能副本
def dot_notation(your_module):
return your_module.__module__ + "." + your_module.__class__.__name__
import inspect
from datetime import datetime
inspect.getmro(datetime)[0]