Inhalt eines Verzeichnisses Zeilenweise ausgeben

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
mikepiko1
User
Beiträge: 2
Registriert: Dienstag 27. April 2010, 12:24

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
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

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.
mikepiko1
User
Beiträge: 2
Registriert: Dienstag 27. April 2010, 12:24

So gehts :

Code: Alles auswählen

for root, ordner, dateien in os.walk(os.curdir):
        for datei in dateien:
                print "<img src=%s>" % (datei)
:)
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Damit auch Bilder in Unterordnern gefunden werden, müsstest Du noch den Pfad aus `root` mitnehmen. ;)
Antworten