Verzeichnis auslesen

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.
Antworten
Benutzeravatar
Frau_U
User
Beiträge: 16
Registriert: Dienstag 13. April 2010, 18:15

Hallo ihr lieben.

Seit ein paar Wochen arbeite ich nun mit Python und habe eine Frage.

Ich würde gerne ein Verzeichnis auslesen und die Dateinamen einzeln benutzen und sie mit pngout.exe komprmieren lassen.

So soll es funktionieren:

Ich tippe in CMD ein: python nameDerPythonDatei.py C:/Verzeichnis/mit/Bildern/

dann soll mein Programm in das Verzeichnis "Bildern" springen und nacheinander sich alle Dateinamen (auch die in den Unterverzeichnissen, in dem Fall sind es 4 Stück) auslesen und dann mit dem Befehl:

Code: Alles auswählen

os.execl('pngout.exe', 'pngout Bild1.png Bild1_Neu.png')
abfrühstücken.

Kann mir jemand helfen, wie ich am besten bei dem Befehl 'pngout Bild1.png Bild1_Neu.png' das "Bild1.png" dynamisch gestalte, also dass eine Schleife dafür sorgt, dass erst Bild1 dann Bild2 usw. in den cmd Befehl geschrieben werden?

Vielen lieben dank!!!
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Schau Dir mal das Modul glob an! Damit geht das ganz einfach.

Außerdem wurde Dir doch in dem anderen Thread zum Thema iirc das subprocess-Modul für das Aufrufen von externen Prozessen empfohlen, oder irre ich da? Wenn nein, dann empfehle ich Dir das jetzt ;-)
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

os.walk ist auch ganz nützlich
und subprocesssolltest du dir wirklich mal anschauen
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Sr4l hat geschrieben:os.walk ist auch ganz nützlich
Ja, wenn man Rekursion will. Da der OP das nicht ansprach, habe ich es mal außen vor gelassen :-)

(genau wie listdir(path) aus dem os-Modul. Aber ich dachte glob scheint das richtige zu sein, wenn man wirklich nur bestimmte Dateien haben will)
Antworten