Python动态类名 [英] Python dynamic class names
本文介绍了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屋!
查看全文