Hi,
Ich möchter gerne ein Programm schreiben, welches alle Dateien aus einem gewissen Verzeichniss öffnet und dann mittels readlines(oder so ähnlich) in eine liste einfügt.
Bisher kenne ich nur den Befehl open(), und da muss man einen fixen Dateinamen eingeben.
alle Dateien weisen folgendes Muster auf:
CL Log 2007-11-05 13.25.14.txt
je nach Datum ändern sich halt die letzten stellen.
Es gibt bestimmt ein kluges Kerlchen, was mir helfen kann
Danke im Voraus
Alle Dateien aus einem Verzeichnis öffnen
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Code: Alles auswählen
>>> import os
>>> os.listdir("/")
['srv', 'opt', 'initrd.img', 'dev', 'tmp', 'mnt', 'root', 'cdrom', 'usr', 'proc', 'data', 'sbin', 'boot', 'initrd', 'vmlinuz', 'var', 'lost+found', 'etc', 'media', 'lib', 'bin', 'sys', 'windows', 'home']
>>>
Die Funktion listet alle Datein und Ordner im angegebenen Pfad.
mit os.path.isdir("PATH") und os.path.isfile("PATH") kannst du checken ob ein Pfad eine Datei oder ein Ordner ist.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi absolutanon!absolutanon hat geschrieben:CL Log 2007-11-05 13.25.14.txt
Willkommen im Python-Forum!
Es gibt natürlich mehrere Möglichkeiten. Eine davon ist die hier:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
import fileinput
import glob
filenames = glob.glob("J:\\Ablage\\CL Log *.txt")
lines = []
# hoffentlich sind es nicht so viele Zeilen. ;-)
for line in fileinput.input(filenames):
lines.append(line.strip())
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
import glob
filenames = glob.glob("J:\\Ablage\\CL Log *.txt")
lines = []
for filename in filenames:
f = file(filename, "rU")
for line in f:
lines.append(line.strip())
f.close()
- glob: http://docs.python.org/lib/module-glob.html
- file/open: http://docs.python.org/lib/built-in-funcs.html#l2h-27
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 17
- Registriert: Freitag 27. April 2007, 19:43
Juchu, ihr habt mir sehr geholfen!
Danke euch beiden!
Danke euch beiden!