Ami "Créez un outil pour récupérer un fichier image approprié dans un dossier contenant un grand nombre de fichiers image, copiez-le au même niveau que le dossier, puis renommez le fichier image avec le nom du dossier." Je suis fou
Chaque dossier tel que "Kizuna AI" et "Mirai Akari" contient un grand nombre d'images et a un nom de fichier tel que 001 ~.
Dossier cible
images
├ KizunaAI
│ ├ 001.jpg
│ └ ....ipg
│
├ MiraiAkari
│ ├ 001.jpg
│ └ ....ipg
└ ....
Copiez un fichier image approprié de chaque dossier d'image, placez-le dans la même hiérarchie que le dossier et renommez le nom de fichier en nom du dossier auquel il appartenait.
Dossier cible
images
├ KizunaAI
│ ├ 001.jpg
│ └ ....ipg
├ KizunaAI.jpg
├ MiraiAkari
│ ├ 001.jpg
│ └ ....ipg
├ MiraiAkari.jpg
└ ....
c'est tout! !! !! !!
Pour le moment, je l'ai implémenté dans mon environnement Anaconda. Je "Je me suis demandé quel genre de contenu sérieux il s'agissait parce que je l'ai redemandé."
main.py
from PIL import Image
import os, glob
rootpath = "./images"
files = os.listdir(rootpath)
#Obtenez tous les répertoires sous rootpath
dirs = [f for f in files if os.path.isdir(os.path.join(rootpath, f))]
#Comme c'est un gros problème, il est affiché sur la console
print(dirs) # ['dir1', 'dir2']
#Exécuter pour tous les répertoires
for dir in dirs :
#Analyser tous les fichiers
files = glob.glob(rootpath +"/"+ dir + "/*.*")
#Tirez l'extension
targetFile = files[0]
root, ext = os.path.splitext(targetFile)
#Image ouverte
img = Image.open(targetFile)
#Renommez et enregistrez directement sous le chemin racine
img.save(rootpath + '/' + dir + ext)
Anaconda est un peu ennuyeux, je vais donc le convertir en EXE et le faire fonctionner en un clic
C'est un excellent outil qui crée un EXE pour chaque environnement virtuel Anaconda. En d'autres termes, il semble que même les personnes qui n'ont pas d'environnement Python puissent l'exécuter avec celui-ci. J'ai du mal à cracher un EXE qui dépasse 300 Mo pour un code de moins de 1 Ko, mais je le pardonne car c'est pratique.
AnacondaPronpt
conda install -c conda-forge pyinstaller
En aparté, je préfère installer avec conda.
Soyez pressé
AnacondaPronpt
pyinstaller main.py --onefile
J'ai "fait (sans dire aucun bogue)" Ami "Je vais le faire!"
Mon ami "S'il y a un" [] "dans le nom du dossier, cela ne correspond pas, mais c'est" Si un !?" Ami "Eh bien, je vais le faire manuellement car il n'y en a que quelques-uns" Je "Gusei"
Si j'ai le temps, je publierai également cette version corrigée d'un bug.
Recommended Posts