Guten Abend,
ich habe bereits folgendes Python-Programm geschrieben um meine Foto-Ordner umzubenennen:
Dieses Programm funktioniert auch, ist aber meiner Meinung nach eher langsam und ich vermute, dass man es noch stark optimieren kann, wie zum Beispiel:
1. Das Programm geht ja bei jedem Durchlauf (also 120 mal) alle Dateiendungen "JPG", "PNG", "ARW", "HEIC", "MOV", "AEE" durch. Wie könnte ich das vermeiden, indem ich sie direkt auslese?
2. Das Programm geht ja bei jedem Durchlauf (also 120 mal) alle Dateien im Ordner durch und überprüft, ob deren Dateinamen mit "files" übereinstimmt.
Würde ich die Dateien im Ordner der Reihe nach durchgehen können, wäre es vermutlich deutlich schneller. Aber wie funktioniert das?
Vielen Dank im Voraus
n_e_r_d
ich habe bereits folgendes Python-Programm geschrieben um meine Foto-Ordner umzubenennen:
Code:
pfad = r"C:/Users/Benutzername/Test"
os.chdir(pfad)
for i in range(1,120):
if i in range(1, 10):
a = '000'
if i in range(10, 100):
a = '00'
if i in range(100, 1000):
a = '0'
if i in range(1000, 10000):
a = ''
for j in ["JPG", "PNG", "ARW", "HEIC", "MOV", "AEE"]:
files = "IMG_" + a + str(i) + '.' + j
if os.path.exists(files):
with exiftool.ExifTool() as et:
datum_ori = et.get_tag("EXIF:DateTimeOriginal", files)
datum_mod = et.get_tag("FileModifyDate", files)
if datum_ori != None: #Damit bricht Programm nicht ab, wenn Datei kommt, die kein "EXIF:DateTimeOriginal" hat, sondern überspringt die Datei einfach
datum_ori_2 = datum_ori.split(" ")[0].replace(":","-") #Ohne Uhrzeit
os.rename(files, pfad + "/" + datum_ori_2 + '_iPhoneX_' + a + str(i) + "." + j)
else:
if datum_mod != None:
datum_mod_2 = datum_mod.split(" ")[0].replace(":","-") #Ohne Uhrzeit
os.rename(files, pfad + "/" + datum_mod_2 + '_iPhoneX_' + a + str(i) + "." + j)
Dieses Programm funktioniert auch, ist aber meiner Meinung nach eher langsam und ich vermute, dass man es noch stark optimieren kann, wie zum Beispiel:
1. Das Programm geht ja bei jedem Durchlauf (also 120 mal) alle Dateiendungen "JPG", "PNG", "ARW", "HEIC", "MOV", "AEE" durch. Wie könnte ich das vermeiden, indem ich sie direkt auslese?
2. Das Programm geht ja bei jedem Durchlauf (also 120 mal) alle Dateien im Ordner durch und überprüft, ob deren Dateinamen mit "files" übereinstimmt.
Würde ich die Dateien im Ordner der Reihe nach durchgehen können, wäre es vermutlich deutlich schneller. Aber wie funktioniert das?
Vielen Dank im Voraus
n_e_r_d