Python :: Aufgabe #63
3 Lösungen

Programm für Dateisuche (Dateifilter)
Anfänger - Python
von devnull
- 29.11.2014 um 08:17 Uhr
Realisiere einen Dateifilter. Das Programm soll einen Verzeichnispfad und eine Namenserweiterung , z.B. ".txt" abfragen und alle dazu passenden Dateien aus dem Verzeichnis auflisten (Dateiname genügt).
Erweiterung: es soll möglich sein mit einem Muster, z.B. "*log.[1-3].gz" nach Dateien zu suchen.
Erweiterung: es soll möglich sein mit einem Muster, z.B. "*log.[1-3].gz" nach Dateien zu suchen.
Lösungen:
Funktioniert mit * als Platzhalter
Python-Code

import glob, os pfad = input("Pfad: ") endung = input("Endung (mit Punkt): ") if ord(pfad[-1]) == 92: dateiliste = glob.glob(pfad + "*" + endung) else: dateiliste = glob.glob(pfad + chr(92) + "*" + endung) print() for datei in dateiliste: print(os.path.basename(datei))

import os import re #path = input('please enter path') #ending = input('please enter the file ending') path = 'C:\Users\Robert\Desktop' ending = 'txt' for item in os.listdir(path): # to make it general: remove \., then the ending can be a regular expression like [1-9]{12}\.txt if re.search('\.%s$' % ending , item): print(item)

import os path=input("Pfad:\n") ending="."+input("Endung:\n") dirList=os.listdir(path) print("\n") for x in dirList: if x.find(ending) != -1: print(x.replace(".py",""))