从代表类名的文本创建一个对象

原文标题Create an object from a text which represents the class name

我不知道这是否可能,但我将 type(…) 的输出存储在一个字符串中。输出是我创建的一个类:

type(...) -> <class 'apps.X.Y.Z.Listings'>

我将它存储为文本,但后来我想用它来创建一个对象。它怎么做?我使用 exec 并且没有工作,并且 callable 说那是 False。

我应该以哪种格式存储以便能够将字符串转换为类名并实例化一个对象?

原文链接:https://stackoverflow.com//questions/71465804/create-an-object-from-a-text-which-represents-the-class-name

回复

我来回复
  • Ashkan Hadadi的头像
    Ashkan Hadadi 评论

    尝试这个:

    eval(<string_class>)()
    
    2年前 0条评论
  • Patryk Laszuk的头像
    Patryk Laszuk 评论

    如果类是导入的,你可以使用globals()

    globals()["Listings"]
    
    2年前 0条评论