2014-03-26 31 views
0

傢伙我有我的變量的問題。Python變量空我不知道爲什麼

當我實例我的類我的變量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 

你知道爲什麼我的變量是空的嗎?

Thx to your response。 對不起我的英文不好;)


哦,謝謝,這個錯誤是愚蠢。 我習以爲常到Java

回答

1

您還沒有__init__()初始化dossierPdossierM實例變量:

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

關注self.這裏。

而且,因爲它看起來dossierProddossierModif變量僅當你有一個OBDI類的一個實例是有意義的,除去dossierProd = ""dossierModif = ""線。

而且,你可能不想OBDI類實例之間共享listeFichierProdlisteFichierModif名單 - 在__init__()初始化列表:

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

,並刪除listeFichierProd = []listeFichierModif = []線。

確保你明白是什麼在以下主題討論:

希望有所幫助。

相關問題