2012-11-30 15 views
5

Se mi piacerebbe creare un elenco di tutti i file .xls, io di solito usoDovrebbe essere glob.glob (...) preferibile su os.listdir (...) o viceversa?

rdir=r"d:\temp" 
flist=[os.path.join(rdir,fil) for fil in os.listdir(rdir) if fil.endswith(".xls")] 
print flist 

Tuttavia, di recente ho visto un alternativa a questo, che è

rdir=r"d:\temp" 
import glob 
flist=glob.glob(os.path.join(rdir,"*.xls")) 
print flist 

Quale di questi due i metodi sono da preferire e perché? O sono considerati ugualmente (dis) sonori?

risposta

3

Entrambi vanno bene. Considerare anche os.path.walk se si vuole effettivamente fare qualcosa con quella lista (piuttosto che costruire la lista per il proprio interesse).

+0

per python 3 è os.walk – poppie

4

Personalmente andrei con glob.glob, perché è più chiaro. Tuttavia, dato che si tratta di un wrapper intorno a listdir, entrambi svolgono il lavoro.

Problemi correlati