在Python中通过反射创建类实例不起作用

在Python中通过反射创建类实例不起作用,python,Python,我有以下代码: theModule = locate(<the location of my python script in the file system>) class_ = getattr(theModule, '<the class of my module>') myAppli = class_() 我在同一目录下的另一个脚本中执行此操作: from pydoc import locate theModule = locate('myScript.py')

我有以下代码:

theModule = locate(<the location of my python script in the file system>)
class_ = getattr(theModule, '<the class of my module>')
myAppli = class_()
我在同一目录下的另一个脚本中执行此操作:

from pydoc import locate

theModule = locate('myScript.py')
class_ = getattr(theModule, 'pythonAppli')
myAppli = class_()
“getattr”行中有以下异常:

请注意,如果在“getattr”方法调用之前添加此行:

inspect.getmembers(theModule)
我在属性列表中找到“pythonAppli”


我在StackOverflow上查看了关于动态实例化的问题,但在这里找不到我的错误。

每一个错误我的回答是,我的错误是
模块已经是我想要的类了。以下代码确实有效:

from pydoc import locate

theModule = locate('myScript.py')
pythonAppli = theModule()

因此,这比我想象的要简单得多。

请在您的问题中加入一些我们可以帮助调试的实际代码。到目前为止,我们无法知道问题是在代码、输入还是模块/类中。请参阅如何提供一个最小的、可复制的示例。请注意,错误消息意味着
module
已经是您所需的类,而不是包含所述类的模块。我编辑了我的示例。更清楚吗?啊,你说得对,关于你的最后一句话。在你关闭它之后,我能回答我自己的问题吗?它可能对其他人有用。如果你先把你的答案写在主题上,它可以被提名重开。就目前情况而言,问题本身并不清楚问题究竟是什么,这使得其他有同样问题的人无法知道答案是否也适用于他们。
inspect.getmembers(theModule)
from pydoc import locate

theModule = locate('myScript.py')
pythonAppli = theModule()