繁体   English   中英

Python变量为空我不知道为什么

[英]Python Variable empty i don't know why

伙计们,我的变量有问题。

当我实例化类时,变量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

您尚未在__init__()初始化dossierPdossierM实例变量:

def __init__(self, dossierP, dossierM):
    self.dossierProd = dossierM
    self.dossierModif = dossierM

self.观察self. 这里。

另外,由于似乎dossierProddossierModif变量仅对具有OBDI类的实例OBDI ,因此删除dossierProd = ""dossierModif = ""行。

另外,您可能不想在OBDI类实例之间共享listeFichierProdlisteFichierModif列表-在__init__()初始化列表:

def __init__(self, dossierP, dossierM):
    self.dossierProd = dossierM
    self.dossierModif = dossierM
    self.listeFichierProd = []
    self.listeFichierModif = []

并删除listeFichierProd = []listeFichierModif = []行。

确保您了解以下线程中讨论的内容:

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM