Python动态类名 [英] Python dynamic class names

查看:125
本文介绍了Python动态类名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


可能重复:

动态加载python模块

python:如何动态地向类添加属性





我有一个带有文件名和类名的字典如何导入这个类名,我该如何创建这个类?

I have a dictionary with the filename and class names how can I import this class names and how can I create this classes?

示例:

classNames = { 'MCTest':MCTestClass}

我想导入MCTest并创建MCTestClass。

I want to import the MCTest and create the MCTestClass.

推荐答案

您必须使用 __ import __ 函数:

http://docs.python.org/library/functions.html# import

http://docs.python.org/library/functions.html#import

文档页面的示例:

>>> import sys
>>> name = 'foo.bar.baz'
>>> __import__(name)
<module 'foo' from ...>
>>> baz = sys.modules[name]
>>> baz
<module 'foo.bar.baz' from ...>

要从baz中实例化一个类,您应该可以做到:

To instantiate a class from baz you should be able to do:

>>> SomeClass = getattr(baz, 'SomeClass')
>>> obj = SomeClass()

这篇关于Python动态类名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆