Seite 1 von 1

Alle Dateien aus einem Verzeichnis öffnen

Verfasst: Freitag 27. April 2007, 19:59
von absolutanon
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

Verfasst: Freitag 27. April 2007, 20:58
von Sr4l

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']
>>> 
/ oder halt C:\ oder andere Verzeichnisse.

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.

Re: Alle Dateien aus einem Verzeichnis öffnen

Verfasst: Freitag 27. April 2007, 21:20
von gerold
absolutanon hat geschrieben:CL Log 2007-11-05 13.25.14.txt
Hi absolutanon!

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())
Das hier ist vielleicht etwas einfacher zu verstehen:

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()
- fileinput: http://docs.python.org/lib/module-fileinput.html
- glob: http://docs.python.org/lib/module-glob.html
- file/open: http://docs.python.org/lib/built-in-funcs.html#l2h-27

mfg
Gerold
:-)

Verfasst: Samstag 28. April 2007, 09:33
von absolutanon
Juchu, ihr habt mir sehr geholfen!
Danke euch beiden!