gpt4 book ai didi

Python 3 - 获取对象的定义路径

转载 作者:行者123 更新时间:2023-11-28 21:33:12 24 4
gpt4 key购买 nike

在我的 Python3 项目的主文件中,我想将导入类的点定义路径显示为字符串。

我导入的类:

名为 WoodCuting,位于 constants/dimensions.py 中。

class WoodCuting():
WIDTH = 12
HEIGHT = 12

我想要的:

导入类的点定义路径作为字符串 - constants.dimensions.WoodCuting

我尝试了什么:

str(type(WoodCuting)) 返回 constants.dimensions.WoodCuting - 这正是我想要的。然而,这不是可靠的解决方案。

有什么想法吗?

最佳答案

您可以使用对象的 __module____qualname__ 来做到这一点属性。

>>> '.'.join((WoodCuting.__module__, WoodCuting.__qualname__))
'constants.dimensions.WoodCuting'

使用 __qualname__ 而不是 __name__ 意味着您可以获得嵌套对象的正确结果。

假设这个类在模块中:

class Foo:
class Bar:
pass

>>> '.'.join((constants.dimensions.Foo.Bar.__module__, constants.dimensions.Foo.Bar.__qualname__))
'constants.dimensions.Foo.Bar'

关于Python 3 - 获取对象的定义路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54987750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com