Seite 1 von 1

Inhalt eines Verzeichnisses Zeilenweise ausgeben

Verfasst: Dienstag 27. April 2010, 12:43
von mikepiko1
Hallo Leute,
brauche mal kurz einen denkanstoss.

Beispielskript:

Code: Alles auswählen

for root, ordner, dateien in os.walk(os.curdir):
        for dateien in dateien:
                print "%s" %(dateien)
Das gibt mir den Inhalt des Currentdirs aus, klar.
Ich möchte nun aber vor und/oder hinter jeder ausgegebenen Zeile html bzw. xml tags setzen.

Wenn im Verzeichnis zb test.jpg liegt möchte ich davor <img src=
und dahinter ein > setzen (beispiel)
also quasi ein

Code: Alles auswählen

print "<img src=./%s>" % (dateien)
Das funktioniert nur wenn eine Datei im Ordner liegt.
Wie kann ich den Output so verändern das er wirklich jede Zeile einzeln mit den Tags versieht, also wenn mehr als eine Datei im Ordner ist ?!

Hab leider noch nicht soo viel Python erfahrung ....

Gruss

Mike

Verfasst: Dienstag 27. April 2010, 13:15
von .robert
Hm, jetzt bin ich mir nicht sicher, ob ich dir deinen Fehler einfach sagen soll, oder ob ich dich irgendwie drauf stoßen soll, dass du selber drauf kommt...

Also erstmal: deine Idee prinzipiell funktioniert.

Du hast nur einen (flüchtigkeits-?) Fehler eingebaut, so dass die print-anweisung eben nicht genau das richtige ausgibt.

Vielleicht schaust du dir deinen Code einfach noch mal an, und überlegst dir, was Probleme machen könnte.

Gruß,
r.

Verfasst: Dienstag 27. April 2010, 14:02
von mikepiko1
So gehts :

Code: Alles auswählen

for root, ordner, dateien in os.walk(os.curdir):
        for datei in dateien:
                print "<img src=%s>" % (datei)
:)

Verfasst: Dienstag 27. April 2010, 14:19
von jerch
Damit auch Bilder in Unterordnern gefunden werden, müsstest Du noch den Pfad aus `root` mitnehmen. ;)