Hallo ist weiß
Wenn ich eine solche Datei sortieren möchte, kann ich sie gut in der Datei sortieren, aber wenn ich versuche, sie mit Python usw. zu verarbeiten.
Die Reihenfolge kann von Ihrer Erwartung abweichen. .. ..
Ich stecke darin fest, also schreibe ich es als Memo für mich auf.
Stellen Sie eine zusätzliche 0000 vor den Index. Dies wird das Problem lösen.
Das manuelle Umschreiben aller Namen ist jedoch mühsam. Überlassen wir es also Python.
Als Voraussetzung sollten Sie nur die Indizes der Originaldatei hinzufügen.
ex)img32.png ⇒ img00032.png
ist. Es ist einfach, also lass es uns eins nach dem anderen beenden.
Verwenden Sie etwas namens os, um den Dateinamen zu erhalten.
import os
file_dl = './File/'
res = os.listdir(file_dl)
Allein damit konnte ich alle Namen der Dinge in der Datei abrufen, die sich in der Datei befand.
Als nächstes erhalten wir den Index aus dem erhaltenen Dateinamen.
import re
file_index = re.search(r'\d{1,}', 'img012.png').group()
Hier werden nur Zahlen aus der Zeichenkette unter Verwendung eines sogenannten regulären Ausdrucks erhalten.
In diesem Fall wird nur 012 aus img012.png extrahiert und in file_index gespeichert.
Benennen Sie es abschließend um und speichern Sie es mit shutil. Ich benenne es nur um und verschiebe es wieder an seinen ursprünglichen Speicherort.
import shutil
shutil.move(old_path,new_path)
Auf diese Weise konnte ich das, was sich in old_path befand, in new_path verschieben.
Wenn Sie die oben genannten verbinden
import os
import shutil
file_dl = './File/'
name = 'img_name'
#Holen Sie sich den Ordnernamen in die Datei
res = os.listdir(file_dl)
#Extrahieren Sie Dateien nacheinander mit der for-Anweisung.
for target_name in res:
#Kombinieren Sie den Dateipfad und den Dateinamen
target_dl = file_dl + target_name
#Extrahieren Sie nur Indizes mit regulären Ausdrücken
target_index = int(re.search(r'\d{1,}', target_name).group())
#Erstellen Sie einen neuen Dateinamen
target_new_name = name+str("{0:05d}".format(target_index))+'.png'
#Benennen Sie die Datei um und speichern Sie sie erneut
shutil.move(target_dl,file_dl+target_new_name)