伙计我的变量有问题。
当我实例化我的课时,我的变量dossierProd和dossierModif不是空的,但是当我想要使用另一个函数时,她是空的。
import glob
class OBDI:
dossierProd = ""
dossierModif = ""
listeFichierProd = []
listeFichierModif = []
def __init__(self, dossierP, dossierM):
dossierProd = dossierM
dossierModif = dossierM
def recupListeFichier(self):
HERE MY VARIaBLE dossierProd & dossierModif as empty
for fichier in glob.glob(str(self.dossierProd) + '*.csv'):
self.listeFichierProd.append(fichier.replace("\\", "/"))
for fichier in glob.glob(str(self.dossierModif) + '*.csv'):
self.listeFichierModif.append(fichier.replace("\\", "/"))
if len(self.listeFichierProd) != len(self.listeFichierModif):
print "toto
你知道为什么我的变量是空的吗?
感谢您的回复。 抱歉我的英文不好;)
哦,谢谢,这个错误是如此愚蠢。 我习惯了java
答案 0 :(得分:1)
您尚未在dossierP
中初始化dossierM
和__init__()
个实例变量:
def __init__(self, dossierP, dossierM):
self.dossierProd = dossierM
self.dossierModif = dossierM
在此处观看self.
。
此外,由于dossierProd
和dossierModif
变量似乎仅在您拥有OBDI
类的实例时才有意义,因此请移除dossierProd = ""
和{{1}行。
此外,您可能不想在dossierModif = ""
类实例之间共享listeFichierProd
和listeFichierModif
列表 - 初始化OBDI
中的列表:
__init__()
并删除def __init__(self, dossierP, dossierM):
self.dossierProd = dossierM
self.dossierModif = dossierM
self.listeFichierProd = []
self.listeFichierModif = []
和listeFichierProd = []
行。
确保您了解以下主题中讨论的内容:
希望有所帮助。