因此,我不确定这个问题是否在别处得到了回答,但我找不到任何与此案例具体相关的可行解决方案,因为它们要么是如何访问同一文件中的实例(工作正常),要么是使用reload()(不起作用)
我有两个python文件,module1.py和module2.py。在module1.py中有一个类,它包含一组我需要从module2访问的实例。 在实例化时,我将每个实例附加到一个列表(作为类变量),但在导入module1时,这些实例尚未实例化,因此该列表为空。这意味着我可以在模块1中访问此实例列表,但在模块2中它是空的
模块1.py
class Class1:
instances = [ ]
def __init__(self):
self.instances.append(self)
a = Class1()
b = Class1()
c = Class1()
模块2.py
import module1
def foo():
print(len(module1.Class1.instances))
#prints zero, list should not be empty
那么,我如何从module2访问在module1中创建的这些实例呢
请参见下面的module1.py:
只有创建了对象,才会将其添加到实例[]列表中。由于没有创建对象,因此列表为空
在module2.py中:
实例列表属于该类,因此需要给出类似
module1.Class1.instances
输出如下所示: 运行两个文件后:
您应该做的是调用要导入的类,因此可以使用[*(import all)][1]导入,也可以按如下方式导入特定类:
在模块1中:
现在实例有2个元素,您可以在module2中访问它们
相关问题 更多 >
编程相关推荐