Mehrere Datein öffnen und bearbeiten

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
Sten Jantzen
User
Beiträge: 3
Registriert: Donnerstag 31. Januar 2008, 11:49

Hallo zusammen,

ich bin noch recht neu im Python Universum und hätte da eine Frage zum Öfnnen von Dateien.

Situation:

Ein Ordner mit n XML Dateien mit verschiedenen Namen.
Diese sollen nacheinander geöffnet werden, dann eine Zeile hinzugefügt, geschlossen und in einem neuen Ordner abgespeichert werden.

Was ich aber nicht schaffe und auch nirgends etwas dazu gefunden habe ist, wie ich mehrere Dateien mit unterschiedlichem Namen nacheinander öffne um sie dann bearbeiten zu können.

Weiß da jemand Rat?

MfG
S. Jantzen
Jan-Peer
User
Beiträge: 166
Registriert: Dienstag 2. Oktober 2007, 10:55

Hallo,

grundsätzliche Dinge wie Schleifen sind dir aber vertraut? Ansonsten schau dir mal die Funktion os.listdir() an.


Gruß

Jan-Peer
Sten Jantzen
User
Beiträge: 3
Registriert: Donnerstag 31. Januar 2008, 11:49

Danke für die schnelle Antwort.

Ja Schleifen u.Ä. sind mir bekannt, habe mir auch die von dir vorgeschlagene Funktion angesehen, allerdings sucht die immer nach Verzeichnis/*.*

Gibt es etwas ähnliches das direkt nach *.xml suchen kann?

MfG
S.Jantzen
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Sten Jantzen hat geschrieben:Danke für die schnelle Antwort.

Ja Schleifen u.Ä. sind mir bekannt, habe mir auch die von dir vorgeschlagene Funktion angesehen, allerdings sucht die immer nach Verzeichnis/*.*

Gibt es etwas ähnliches das direkt nach *.xml suchen kann?

MfG
S.Jantzen
Kannst doch durch die Elemente von listdir iterieren und mit .endswith(".xml") schauen, ob's XML-Dateien sind oO!
Sten Jantzen
User
Beiträge: 3
Registriert: Donnerstag 31. Januar 2008, 11:49

Habe es jetzt so ähnlich gelöst vielen Dank für die Hinweise!
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Nur mal als Einzeiler reingeworfen (gibt eine Liste zurück mit allen XML-Dateien im momentanen Verzeichnis)

Code: Alles auswählen

>>> xml_files = [x for x in os.listdir(".") if x.endswith(".xml")]
>>> xml_files
['bla.xml', 'blabla.xml', 'blalblalblalbl.xml', 'foo.xml', 'hohenhalde.xml', 'mi
au.xml']
BlackJack

Ansonsten gäbe es dafür auch noch das `glob`-Modul.

Code: Alles auswählen

In [419]: import glob

In [420]: glob.glob('*.xml')
Out[420]: ['Testdatei.xml', 'test.xml', 'new_catalog_ok.xml', 'input.xml']
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

``glob.glob()`` existiert.

Edit: Zu langsam. *grml*
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten