Ich versuche, Dateien in einem Verzeichnis umbenennen, so dass der neue Name ist der ursprüngliche Name, gefolgt von einem Leerzeichen + "17-" + eine inkrementell steigende Zahl.Stapel umbenennen Dateien in Python 2.7
Der folgende Code ist nur Dateien von 151, nach oben umbenennen. Wie behalte ich den ursprünglichen Namen, den Text "17-" und die Nummern?
import os
path = 'C:\Users\dcs\Desktop\Test direct'
files = os.listdir(path)
i = 151
for file in files:
os.rename(os.path.join(path, file), os.path.join(path, str(i)+'.TIF'))
i = i+1
Ist 'Datei' noch eine Zeichenkette? Versuchen Sie 'print type (file) kurz vor dem' rename' Befehl. Auf meinem Python gibt 'listdir' eine Liste von Strings zurück. – Prune
Das ist wirklich seltsam: 'Datei' ist ein generischer * Typ * ?? Ich kann das nicht mit deinem Code reproduzieren. Ich habe versucht, meine Lösung in meinem lokalen Verzeichnis und es funktioniert wie erwartet, geben Sie 'für den Variablentyp. Was Python? Haben Sie diesen Code ausgeschnitten und in Ihre Umgebung eingefügt, um sicherzustellen, dass wir dieselben Funktionen ausführen? Ich habe nur deinen Weg durch "ersetzt." und deaktivieren Sie den Befehl 'rename'. –
Prune
'fname' ist in der Anweisung' for' definiert. – Prune