python是否具有Java Class.forName()的等价物?

python是否具有Java Class.forName()的等价物?

我需要获取一个字符串参数,并在Python中创建该字符串中指定的类的对象。在Java中,我会使用Class.forName().newInstance()。Python中有相应的东西吗?


谢谢你的回复。要回答那些想知道我在做什么的人:我想使用命令行参数作为类名,并实例化它。我实际上是在Jython中编程并实例化Java类,因此问题的Java-ness。 getattr()效果很好。非常感谢。


繁花如伊
浏览 412回答 3
3回答

子衿沉夜

def import_class_from_string(path):&nbsp; &nbsp; from importlib import import_module&nbsp; &nbsp; module_path, _, class_name = path.rpartition('.')&nbsp; &nbsp; mod = import_module(module_path)&nbsp; &nbsp; klass = getattr(mod, class_name)&nbsp; &nbsp; return klass用法In [59]: raise import_class_from_string('google.appengine.runtime.apiproxy_errors.DeadlineExceededError')()---------------------------------------------------------------------------DeadlineExceededError&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Traceback (most recent call last)<ipython-input-59-b4e59d809b2f> in <module>()----> 1 raise import_class_from_string('google.appengine.runtime.apiproxy_errors.DeadlineExceededError')()DeadlineExceededError:&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Python