Python 相当于 Ruby 的 ObjectSpace?

标签 python ruby module metaprogramming

我有一个存储在 var 中的类的名称,我需要从中创建一个对象。 但是我不知道它是在哪个模块中定义的(如果我知道,我只会调用 getattr(module,var),但我确实知道它是导入的。

我应该检查每个模块并测试该类是否在那里定义?我如何在 python 中做到这一点?

如果我在同一个变量中有模块+类,我如何从中创建一个对象? (即 var = 'module.class') 干杯, 泽

最佳答案

globals()[classname] 应该这样做。

更多代码:http://code.activestate.com/recipes/285262/

关于Python 相当于 Ruby 的 ObjectSpace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2318044/

相关文章:

xml - 如何在 ruby​​ 中进行 XMLRPC::Client 的有线转储?

python - 从 python 类引用外部范围

Ruby:如何使用父类中的方法调用子类?

python - 在 Windows 上单独安装/分发 Py Launcher

python - 将列表传递给需要相同长度元组的函数

ruby-on-rails - Rails HAML 条件 link_to

arrays - 在 Ruby 中构建多维数组

Node.js 使用外部 JS 文件?

python - 改进在 Python 3.7 标准环境中运行 Django 的 Google App Engine 的冷启动时间

python - 使用 dask 将 parquet 文件拆分为较小的 block