nur Dateien anzeigen die mit bestimmtem String anfangen

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.
Mister Wing
User
Beiträge: 18
Registriert: Donnerstag 23. August 2007, 08:53
Wohnort: Berlin

nur Dateien anzeigen die mit bestimmtem String anfangen

Beitragvon Mister Wing » Donnerstag 6. September 2007, 09:56

Hallo,

wie der Titel schon sagt.

Wie kann ich mir nur Dateien eines Ordners anzeigen lassen, die mit einem bestimmten literal anfangen?
Zum Beispiel:

auto_exec.bat
auto_foo.bat
auto_bar.bat

Die fangen alle mit auto an.

Vielen Dank.

Gruß Oliver
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Donnerstag 6. September 2007, 10:12

So bekommst du ein Verzeichnislisting und kannst den Anfang eines Strings pruefen:

Code: Alles auswählen

>>> import os
>>> os.listdir("/")
['boot', 'media', 'srv', 'mnt', 'var', 'proc', 'sbin', 'root', 'windows', 'vmlinuz', 'dev', 'lib', 'vmlinuz.old', 'sys', 'selinux', 'initrd',  'etc', 'usr', 'lost+found', 'initrd.img.old', 'opt', 'bin', 'initrd.img', 'cdrom', 'tmp', 'home']
>>> "hallo welt".startswith("ha")
True
>>>
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Beitragvon Trundle » Donnerstag 6. September 2007, 10:24

Code: Alles auswählen

import glob
files = glob.glob('/pfad/zum/dir/auto*')


Files enthält dann eine Liste mit Pfadnamen, die mit 'auto' anfangen. Da können allerdings auch Verzeichnisse etc. dabei sein, wenn du nur Dateien haben willst, musst du eben etwas wie

Code: Alles auswählen

import glob
import os
files = [f for f in glob.glob('/pfad/zum/dir/auto*') if os.path.isfile(f)]

benutzen.
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Beitragvon pyStyler » Donnerstag 6. September 2007, 12:00

Hallo,

teste das hier mal.

Code: Alles auswählen

import os

print os.getcwd()
x = [ f for f in os.listdir(os.getcwd()) if f.startswith('auto_') and f.endswith('.bat')]
   
for i in x: print i


Gruss
pyStyler

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder