如何将字符串转换为 Python 类对象?


在给 Python 函数 提供用户输入的字符串的情况下,我想从中获得一个类对象,如果当前定义的命名空间中存在同名类。

示例

class Foobar:
    pass
print eval("Foobar")
print type(Foobar)

输出

 __main__.Foobar
<type 'classobj'>

将一个字符串转换为类对象的另一个方法如下

示例

import sys
class Foobar:
    pass
def str_to_class(str):
    return getattr(sys.modules[__name__], str)
print str_to_class("Foobar")
print type(Foobar)

输出

__main__.Foobar
<type 'classobj'>

更新日期:09-9 月-2023

12K+ 个浏览量

开启您的事业

完成课程获得认证

开始
广告
© . All rights reserved.