das hier ist mein erster Berührungspunkt mit Python. Nach langen suchen haben ich eingesehen, das ich das script wohl selbst schreiben muß.
Folgendes soll gemacht werden:
Alle Dateinamen und Ordnernamen eines Verzeichnisbaumes sollen auf Zeichen geprüft werden, die NICHT a-z, A-Z, Unterstrich oder minus sind.
Sind diese Zeichen enthalten, sollen Leerzeichen durch einen Unterstrich ersetzt werden, Umlaute durch 2 Buchstaben und der Rest: weg.
Ich ,möchte das mit regulären Ausdrücken machen, scheitere jedoch an der benutzung dieser. Ich hatte mir das grundlegen so gedacht, geht aber nicht:
Code: Alles auswählen
#!/usr/bin/python
import os, string
import sys
import re
if len(sys.argv)==1:
filename = os.listdir(os.curdir)
else:
filename = sys.argv[1:]
for filename in filename:
if 'r"\w"' in filename:
newfilename = filename.replace(r'"(\W)"','x')
print "Umbennenung von ", filename, "nach ", newfilename, "..."
os.rename(filename, newfilename)
Wie ist der Syntax um in einem solchen Zusammenhang reguläre Ausdrücke zu benutzen und für die Zukunft: wie finde ich alleine so einen Lösung. Sämtliche Onlinelektüre, O'reillys ''Einführung in Python'' etc. haben mit bisher kleinen Erfolg beschert.
Ein Newbie dankt im Voraus.
Gruß
Sven