2016-03-23 2 views
1

Das ist verwirrend! Aus irgendeinem Grund, os.walk sagt mir, dass alles, was ich habe, ist eine Dateistruktur voller .DS_Store Dateien, die nicht wahr ist.os.walk denkt mein Verzeichnis enthält nur .DS_Store Dateien

alist = [] 

for root, directories, filenames in os.walk('/somedir/full/of/subdirs/and_PDFs'): 
    somelist.append(os.path.join(root,filename)) 

So alist[0:5] gibt mir ein Beispiel:

['.DS_Store', 
'/somedir/full/of/subdirs/and_PDFs/0008/.DS_Store', 
'/somedir/full/of/subdirs/and_PDFs/0008/18/.DS_Store', 
'/somedir/full/of/subdirs/and_PDFs/0027/.DS_Store', 
'/somedir/full/of/subdirs/and_PDFs/0027/41/.DS_Store'] 

Ich habe keine Ahnung, warum os.walk denkt alles, was ich habe .DS_Store Dateien?

(Ich sollte auch hinzufügen, ist die ganze alist dieser voll ist, nicht nur die erste 5.)

Antwort

4

Der Code wird mit filename (vielleicht früher irgendwo im Code definiert ist), nicht filenames. Sie müssen filenames iterieren, um Dateien zu erhalten (Iterate directories auch, wenn Sie Verzeichnisnamen auch wollen)

alist = [] 

for root, directories, filenames in os.walk('/somedir/full/of/subdirs/and_PDFs'): 
    for fn in filenames: 
     alist.append(os.path.join(root,fn)) 
Verwandte Themen