Wie kann ich alle Dateien in einem Ordner nacheinander Lesen bzw den Text filtern ohne das ich jedesmal einen Namen aufrufen muss.
Ich möchte aus allen Dateien "\" dieses Zeichen, welches sich am Anfang von einigen Zeilen von einer Datei befindet rausfiltern und die Datei wieder abspeichern.
Im Ordner sind zb 23 Textdateien.
Danke.
Gruss
Alle Datein im Ordner lesen und schreiben
Code: Alles auswählen
>>> os.listdir('/')
['home', 'proc', 'bin', 'dev', 'mnt', 'sys', 'media', 'lib', 'vmlinuz', 'selinux', 'root', 'tmp', 'boot', 'initrd.img', 'opt', 'usr', 'sbin', 'lost+found', 'srv', 'etc', 'cdrom', 'var']
>>>
EDIT: War vielleicht etwas knapp. Schau dir außerdem `str.replace()` an. Und `open()`
Was ist hier an der Syntax falsch?
Es kommt eine Fehlermeldung.
Es kommt eine Fehlermeldung.
Code: Alles auswählen
import os
os.listdir("d:\Forth\src\*.f")
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Mittlerweile solltest Du doch mal wissen, dass es Python-Code-Blöcke hier gibt. Außerdem solltest Du die Fehlermeldung auch posten - auch das solltest Du doch mal gelernt haben!funkheld hat geschrieben:Was ist hier an der Syntax falsch?
Es kommt eine Fehlermeldung.
Code: Alles auswählen
import os os.listdir("d:\Forth\src\*.f")
Zum Fehler: Der Backslash ist ein Escape-Zeichen - Du musst raw-Strings verwenden, um das zu unterbinden:
Code: Alles auswählen
import os
os.listdir(r"d:\Forth\src\*.f")
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Das funktioniert jetzt erstmal.
os.listdir("d:/forth/src/ *.f")
Mit dem Filter "*.f" geht es nicht. Welches Symbol muss ich dafür nehmen?
os.listdir("d:/forth/src/ *.f")
Mit dem Filter "*.f" geht es nicht. Welches Symbol muss ich dafür nehmen?
Code: Alles auswählen
import os
test=os.listdir("d:/forth/src/")
print test[8]
wie Hyperion bereits geschrieben hat, kannst du dafür das glob Modul verwenden:
Code: Alles auswählen
>>> glob.glob('*.gif')
['1.gif', 'card.gif']Lies die Dokumentation zu os.listdir. Eine Verarbeitung von Filtern ist nicht Bestandteil dieser Funktion.funkheld hat geschrieben:os.listdir("d:/forth/src/ *.f")
Mit dem Filter "*.f" geht es nicht. Welches Symbol muss ich dafür nehmen?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Schade, dass es in diesem Board keine "Badgets" gibt; bei einigen Leuten bräuchte man mal so Sachen wie "lernresistent", "Hinweis resistent" usw 
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
lunar
Jammer nicht.
Du kannst ihn einfach ignorieren, da gibt es hier sogar eine Funktion für, schließlich zwingt Dich niemand, auf seine Fragen zu antworten.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
"Missliebig" ist hier nicht wirklich passend. Ich glaube eher, dass einige das gar nicht richtig mitbekommen, was andere an Hinweisen geben und daher immer wieder dieselben Schwierigkeiten haben (sei es bei einem konkreten Problem oder beim Vorgehen). Evtl. überlesen sie es wirklich einfach, ohne bewusst darauf zu achten. :Klunar hat geschrieben:Du kannst diese Leute einfach ignorieren, da gibt es hier sogar eine Funktion für, schließlich zwingt Dich niemand, auf Fragen missliebiger Nutzer zu antworten.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
