2013-05-17 8 views
9

Ricevo l'errore ConfigParser.NoSectionError: Nessuna sezione: errore 'TestInformation' che utilizza il codice precedente.Python: ConfigParser.NoSectionError: Nessuna sezione: 'TestInformation'

def LoadTestInformation(self):   
    config = ConfigParser.ConfigParser()  
    print(os.path.join(os.getcwd(),'App.cfg')) 

    with open(os.path.join(os.getcwd(),'App.cfg'),'r') as configfile:  
     config.read(configfile) 
     return config.items('TestInformation') 

Il percorso del file è corretto, ho ricontrollato. e il file di configurazione ha la sezione TestInformation

[TestInformation] 

IEPath = 'C:\Program Files\Internet Explorer\iexplore.exe' 

URL = 'www.google.com.au' 

'''date format should be '<Day> <Full Month> <Full Year>' 

SystemDate = '30 April 2013' 

in un file app.cfg. Non so cosa sto facendo male

+0

'app.cfg' o' App.cfg'? – RedBaron

+0

App.cfg. dovrei usare solo app.cfg? – Loganswamy

+0

Nell'ultima riga della tua domanda dici di aver messo tutto questo in "app.cfg", ma nel tuo codice stai aprendo "App.cfg". Lo prenderò come errore di battitura. – RedBaron

risposta

8

Utilizzare la funzione readfp() anziché read() poiché si sta aprendo il file prima di leggerlo. Vedi Official Documentation.

def LoadTestInformation(self):   
    config = ConfigParser.ConfigParser()  
    print(os.path.join(os.getcwd(),'App.cfg')) 

    with open(os.path.join(os.getcwd(),'App.cfg'),'r') as configfile:  
     config.readfp(configfile) 
     return config.items('TestInformation') 

È possibile continuare a utilizzare read() se si salta la fase di apertura del file e invece il percorso completo del file per la funzione di read()

def LoadTestInformation(self):   
    config = ConfigParser.ConfigParser()  
    my_file = (os.path.join(os.getcwd(),'App.cfg')) 
    config.read(my_file) 
    return config.items('TestInformation') 
Problemi correlati