2012-07-14 14 views
5
try: 
    directoryListing = os.listdir(inputDirectory) 
    #other code goes here, it iterates through the list of files in the directory 

except WindowsError as winErr: 
    print("Directory error: " + str((winErr))) 

Funziona bene, e ho verificato che non soffoca e muore quando la directory non esiste, ma stavo leggendo in un libro Python che dovrei usare "con "all'apertura dei file. C'è un modo preferito per fare quello che sto facendo?Un modo sicuro di leggere la directory in Python

risposta

4

Stai perfettamente bene. La funzione os.listdir non apre i file, quindi alla fine si sta bene. Dovresti utilizzare l'istruzione with durante la lettura di un file di testo o simile.

un esempio di un con l'affermazione:

with open('yourtextfile.txt') as file: #this is like file=open('yourtextfile.txt') 
    lines=file.readlines()     #read all the lines in the file 
             #when the code executed in the with statement is done, the file is automatically closed, which is why most people use this (no need for .close()). 
+1

Ok! Grazie. Sono nuovo di Python, e sto cercando di imparare il modo giusto di fare le cose, invece di "farlo funzionare" –

+0

nessun problema, aggiungerò un esempio di una dichiarazione con solo per riferimento. –

+0

Se sei in vena di fornire più conoscenza, cosa fa "with". Provano solo un sacco di cose che possono andare storte quando si apre/legge da un file e si raggruppa in un errore? Corruzione, non lì, ecc. –

2

Quello che stai facendo va bene. Con è davvero il modo preferito per aprire i file, ma listdir è perfettamente accettabile solo per leggere la directory.

+0

Grazie per il vostro feedback! –

+0

Nessun problema. Spero che tu stia godendo la tua avventura con Python – Wulfram

+0

Sì, mi piace molto finora. Finora ho fatto principalmente C++ e Java. –

Problemi correlati