Freund "Erstellen Sie ein Tool, mit dem Sie eine geeignete Bilddatei aus einem Ordner mit einer großen Anzahl von Bilddateien abrufen, auf dieselbe Ebene wie den Ordner kopieren und die Bilddatei dann in den Ordnernamen umbenennen können." Ich bin verrückt
Jeder Ordner wie "Kizuna AI" und "Mirai Akari" enthält eine große Anzahl von Bildern und hat einen Dateinamen wie 001 ~.
Zielordner
images
├ KizunaAI
│ ├ 001.jpg
│ └ ....ipg
│
├ MiraiAkari
│ ├ 001.jpg
│ └ ....ipg
└ ....
Kopieren Sie eine entsprechende Bilddatei aus jedem Bildordner, platzieren Sie sie in derselben Hierarchie wie den Ordner und benennen Sie den Dateinamen in den Namen des Ordners um, zu dem er gehört.
Zielordner
images
├ KizunaAI
│ ├ 001.jpg
│ └ ....ipg
├ KizunaAI.jpg
├ MiraiAkari
│ ├ 001.jpg
│ └ ....ipg
├ MiraiAkari.jpg
└ ....
das ist alles! !! !! !!
Vorerst habe ich es in meiner Anaconda-Umgebung implementiert. Ich sagte: "Ich habe wieder danach gefragt, also frage ich mich, was für ein ernsthafter Inhalt es ist."
main.py
from PIL import Image
import os, glob
rootpath = "./images"
files = os.listdir(rootpath)
#Holen Sie sich alle Verzeichnisse unter rootpath
dirs = [f for f in files if os.path.isdir(os.path.join(rootpath, f))]
#Da es eine große Sache ist, wird es auf der Konsole angezeigt
print(dirs) # ['dir1', 'dir2']
#Für alle Verzeichnisse ausführen
for dir in dirs :
#Scannen Sie alle Dateien
files = glob.glob(rootpath +"/"+ dir + "/*.*")
#Ziehen Sie die Verlängerung heraus
targetFile = files[0]
root, ext = os.path.splitext(targetFile)
#Bild geöffnet
img = Image.open(targetFile)
#Benennen Sie um und speichern Sie direkt unter dem Stammpfad
img.save(rootpath + '/' + dir + ext)
Anaconda ist ein wenig nervig, also machen Sie es zu einer EXE-Datei und lassen Sie es mit einem Klick funktionieren
Es ist ein großartiges Tool, das eine EXE-Datei für jede virtuelle Anaconda-Umgebung erstellt. Mit anderen Worten, es scheint, dass sogar Leute, die keine Python-Umgebung haben, diese mit dieser ausführen können. Ich habe Probleme, eine EXE-Datei auszuspucken, die 300 MB für einen Code mit weniger als 1 KB überschreitet, aber ich vergebe es, weil es praktisch ist.
AnacondaPronpt
conda install -c conda-forge pyinstaller
Nebenbei bevorzuge ich die Installation mit Conda.
schnell
AnacondaPronpt
pyinstaller main.py --onefile
Ich "fertig (ohne Fehler zu sagen)" Freund "Ich werde es tun!"
Mein Freund "Wenn der Ordnername ein" [] "enthält, entspricht es nicht, aber das ist" Wenn ein !?" Freund "Nun, ich mache es manuell, weil es nur wenige gibt." Ich "Gusei"
Wenn ich Zeit habe, werde ich auch diese fehlerbehebte Version veröffentlichen.