Bonjour est blanc
Quand j'essaye de trier un tel fichier, je peux bien le trier dans le fichier, mais quand j'essaye de le traiter avec Python etc.
L'ordre peut être différent de ce que vous attendiez. .. ..
Je suis coincé là-dedans, alors je vais l'écrire comme mémo pour moi-même.
Mettez un 0000 supplémentaire avant l'indice. Cela résoudra le problème.
Cependant, réécrire tous les noms manuellement est un problème, alors laissons tout à Python.
En principe, envisagez d'ajouter uniquement les indices du fichier d'origine.
ex)img32.png ⇒ img00032.png
est. C'est facile, alors terminons-le un par un.
Utilisez quelque chose appelé os pour obtenir le nom du fichier.
import os
file_dl = './File/'
res = os.listdir(file_dl)
Avec cela seul, j'ai pu obtenir tous les noms de choses dans le fichier qui était dans le fichier.
Ensuite, récupérons l'indice du nom de fichier obtenu.
import re
file_index = re.search(r'\d{1,}', 'img012.png').group()
Ici, seuls les nombres sont obtenus à partir de la chaîne de caractères en utilisant ce que l'on appelle une expression régulière.
Dans ce cas, seul 012 est extrait de img012.png et stocké dans file_index.
Enfin, renommez-le et enregistrez-le en utilisant shutil. Tout ce que je fais, c'est le renommer et le remettre à son emplacement d'origine.
import shutil
shutil.move(old_path,new_path)
En faisant cela, j'ai pu déplacer ce qui se trouvait dans old_path vers new_path.
Si vous connectez ce qui précède
import os
import shutil
file_dl = './File/'
name = 'img_name'
#Obtenez le nom du dossier dans le fichier
res = os.listdir(file_dl)
#Extrayez les fichiers un par un à l'aide de l'instruction for.
for target_name in res:
#Combiner le chemin du fichier et le nom du fichier
target_dl = file_dl + target_name
#Extraire uniquement les indices à l'aide d'expressions régulières
target_index = int(re.search(r'\d{1,}', target_name).group())
#Créer un nouveau nom de fichier
target_new_name = name+str("{0:05d}".format(target_index))+'.png'
#Renommez le fichier et enregistrez-le à nouveau
shutil.move(target_dl,file_dl+target_new_name)
Recommended Posts