python - 将字符串转换为 Python 类对象?

给定一个字符串作为 Python 函数的用户输入,如果当前定义的命名空间中有一个具有该名称的类,我想从中获取一个类对象。本质上,我想要一个能够产生这种结果的函数的实现:

class Foo:
    pass

str_to_class("Foo")
==> <class __main__.Foo at 0x69ba0>

这可能吗?

最佳答案

这可以工作:

import sys

def str_to_class(classname):
    return getattr(sys.modules[__name__], classname)

https://stackoverflow.com/questions/1176136/

相关文章:

linux - 设置 Vim 背景颜色

python - 为什么 PyPy 没有包含在标准 Python 中?

python - 将 Pandas 函数应用于列以创建多个新列?

python - 如何在 Python 中将新行附加到旧的 CSV 文件?

linux - 在 Linux 的沙箱中运行不受信任的 C 程序,阻止它打开文件、 fork 等?

python - 如何从字符串中删除所有空格

python - 通过urllib和python下载图片

python - 计算两个 Python 字典中包含的键的差异

linux - tar.gz 和 tgz 是一回事吗?

c - unix域套接字VS命名管道?