2017-03-16 6 views
-1

Ich habe versucht, eine Antwort zu finden, kam aber leer. Ich versuche, os.walk() in Python zu verwenden, aber selbst wenn ich Dateien in Verzeichnissen habe, gibt es eine leere Liste zurück. Ordner-Struktur ist:os.walk() gibt keine Dateinamen zurück

↳Photos 
    ↳fold1 
    ↳ file1.jpg 
    ↳ file1.nef 
    ↳fold2 
    ↳subfold1 
     ↳ file2.jpg 
    ↳ file2.jpg 
    ↳ file2.nef 

mein Code jetzt sehr einfach ist (nicht Geist dirs_path jetzt zu schaffen, es funktioniert wie erwartet):

class PhotosCleanup(object): 
    def __init__(self): 
     super(PhotosCleanup, self).__init__() 

    def create_dirs_list(self): 
     for root, directories, filenames in os.walk(top='Photos'): 
      dirs_path = [os.path.join(root, dp) for dp in directories] 
      print dirs_path 
pc = PhotosCleanup() 
pc.create_dirs_list() 

aber Dateinamen Variable leer ist. Was mache ich falsch?

BEARBEITEN: Aktualisiertes Code-Snippet.

EDIT2: Ok, ich vergaß acutal Ergebnis dieses Skript einzufügen:

['Photos\\fold1', 'Photos\\fold2'] 
['Photos\\fold1\\Obrobione'] 
[] 
[] 
+0

Wie genau führen Sie den Code aus? –

+1

Ihr Code versucht nichts mit der Variablen 'filenames' zu tun. Wie genau folgern Sie, dass es leer ist? – tripleee

+0

Ich habe vorher versucht, aber jetzt benutze ich Debugger. – CePeeN

Antwort

-1

Sie nie einen Ordner gab, alles, was Sie sagen, ist top = Ordner, die nicht genug für os.walk ist auszuführen seine Pflicht.

os.walk (oben = 'Fotos'), fügen Sie eine Adresse in diesem, es funktioniert.

+0

Ich bin mir nicht sicher, was du meinst. Es funktioniert für Ordner und Unterordner, es füllt nur keine Dateinamen mit Dateinamen. Ich habe die tatsächliche Ausgabe in Frage gestellt. – CePeeN

0

Stellen Sie sicher, dass Ihre Skriptdatei und Photos Ordner im selben Verzeichnis befinden, oder Sie verwenden können:

print __file__ 

aktuellen Ordner zu erhalten.

Ich nehme an, Sie verwenden einen falschen relativen Pfad.Auch können Sie versuchen, absoluten Pfad zu verwenden.Aktuell funktioniert der Code gut.

+0

Sie sind in demselben Ordner, ich meine, es gibt FileUtils Ordner, wo Fotos und Skript befindet. – CePeeN

0

Sorry, ich weiß nicht, was falsch war, aber es funktioniert tatsächlich, sorry für die Verwirrung. Mein Fehler. Ich weiß nicht, warum der Debugger zeigt, dass er leer ist. Entschuldigung nochmal.