Python :: Aufgabe #63

3 Lösungen Lösungen öffentlich

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.

Lösungen:

vote_ok
von jigga (4260 Punkte) - 12.06.2015 um 17:31 Uhr
Funktioniert mit * als Platzhalter

Quellcode ausblenden 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))
vote_ok
von ZRX88 (2770 Punkte) - 02.12.2016 um 23:27 Uhr
Quellcode ausblenden Python-Code
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)

vote_ok
von hsiemens (290 Punkte) - 23.01.2017 um 15:03 Uhr
Quellcode ausblenden Python-Code

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",""))

2112963

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.