引用另外一个py文件时,其__init__下初始化的变量找不到,但是直接执行被引用的类又正常,(只执行A.py则输出正常,如果执行B.py则报出,AttributeError:“b” object has no attribute “file1”)其实之前是正常运行的,但是后面我改了A.py文件的self.afile1名字,比如从self.file改成self.file1,后面就出问题了。。求大佬们指点迷津
我是A.py
class A()
def __init__(self):
self.file1 = “一个路径”
def creatItemDict(self):
with open(self.a,"r",encoding = "gbk") as a
巴拉巴拉
return list
b.py
for 我是A import A
def B(self):
IdDict = A.creatItemDict(self)
print(IdDict)
参考GPT和自己的思路:你在调用A类的时候应该是使用了类名而不是实例化后的对象名,在B.py中应该是需要先实例化A类,再调用其实例方法和属性。修改后的B.py文件如下:
from A import A
def B():
a_obj = A()
IdDict = a_obj.creatItemDict()
print(IdDict)
你需要确认在使用A类之前,这个类的初始化 __init__
方法中的变量是否被正确初始化,同时需要确认在B.py文件中引用的A.py文件路径是否正确。若还有问题,你可以提供更加详细的代码和错误信息。