ich musste kürzlich ca. 400 digitale Fotos umbenennen, weil die aus irgendeinem Grund von dem Entwickler auf beiden DVDs genau gleich-genannt wurden und ich die eigentlich im selben Verzeichnis haben wollte.
Da habe ich mir kurzerhand folgendes Skript zusammengewurstelt, was auch funktioniert. Das ist bis jetzt nur Proof of Concept, also ich kümmere mich um die Dateiendungen etc. noch später.
Code: Alles auswählen
import os
def change_all_filenames(directory):
i = 0
for root, dirs, files in os.walk(directory):
for f in files:
os.renames(os.path.join(root,f),
os.path.join(root, "Dispos{0}".format(i)))
i += 1
if __name__ == "__main__":
change_all_filenames('/home/nebelhom/Practice Folder')
Mir fiel bis jetzt nur ein, erst auf alle möglichen Strings in der variable "directory" zu testen (== '/home', oder in Windows den Ordner WINDOWS angegeben etc etc.). Kann man u. U. bei os.walk() einstellen wie viele Unterverzeichnisse die Funktion durchlaufen soll?
Danke für euren Input.
EDIT: Ich vergaß zu erwähnen: Python Version 2.6 und OS ist Ubuntu wird aber auch dann in Windows XP ausprobiert.