Status aller Dateien eines Verzeichnisses?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Psus82
User
Beiträge: 128
Registriert: Dienstag 6. April 2004, 16:15

Danke habe deinen Quellcode auch probiert Leonidas.
Der funktioniert auch.
Keine Ahnung wo der Fehler liegt.
Einzeln klappt es aber zusammen nicht.

Psus82
Drei Dinge die Programmierer hassen:
1.)Sonnenlicht
2.)Frische Luft
3.)Das ätzende Geräusch zwitschernder Vögel
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Folgendes?

Code: Alles auswählen

import os
FolderToScan  = "C:"
files = os.listdir(FolderToScan)

for f in files:
    if os.path.isfile(f):
        print (f, os.path.getmtime(f))
Kann es sein, dass bei dir die Liste mit den Variablen global ist und du von einer Funktion darauf zugreifen versuchst?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Psus82
User
Beiträge: 128
Registriert: Dienstag 6. April 2004, 16:15

Bei dem neuen Quellcode von dir kriege ich keine print Ausgabe.

Psus82
Drei Dinge die Programmierer hassen:
1.)Sonnenlicht
2.)Frische Luft
3.)Das ätzende Geräusch zwitschernder Vögel
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dann liegt das simpel und einfach daran, dass du auf C:\ keine Dateien hast.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Psus82
User
Beiträge: 128
Registriert: Dienstag 6. April 2004, 16:15

Da sind 2 PDFs und mehrere txts.
Die hat er mir ja auch im Quellcode davor ausgegeben.
Drei Dinge die Programmierer hassen:
1.)Sonnenlicht
2.)Frische Luft
3.)Das ätzende Geräusch zwitschernder Vögel
Gast

Leonidas hat geschrieben:Dann liegt das simpel und einfach daran, dass du auf C:\ keine Dateien hast.
Nein. Es liegt daran, daß isfile() und getmtime() einen kompletten pfad erwarten, nicht nur einen dateinamen.
Psus82
User
Beiträge: 128
Registriert: Dienstag 6. April 2004, 16:15

Also dann eher sowas.

Code: Alles auswählen

AccessTimeNew = [(f, os.path.getmtime(FolderToScan+"\"+f)) for f in os.listdir(FolderToScan) if os.path.isfile(FolderToScan+"\"+f)]
Das funktioniert.
Danke für eure Hilfe. :D :!:
Wäre sonst verzweifelt.

Psus82
Drei Dinge die Programmierer hassen:
1.)Sonnenlicht
2.)Frische Luft
3.)Das ätzende Geräusch zwitschernder Vögel
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ups. Sowas. Stimmt, da ist ja bei win2000 die boot.ini dabei.

Meine Lösung (recht clean):

Code: Alles auswählen

import os

FolderToScan  = "C:\\"
files = os.listdir(FolderToScan)


AccessTime = [(f, os.path.getmtime(os.path.join(FolderToScan, f)))
                    for f in os.listdir(FolderToScan)
                    if os.path.isfile(os.path.join(FolderToScan, f))]

print AccessTime
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten