J'ai un dossier qui contient des fichiers avec des noms: "fileX.JPG" where X = 1....N
et je veux nommer les fichiers comme: "000000000X.JPG" where X=1...N
Le nouveau nom du fichier doit avoir le numéro de l'ancien nom du fichier plus les zéros. Ainsi, les noms de fichiers d'exemple que je veux sont:
0000000000001.jpg 0000000000011.jpg 0000000000111.jpg
etc
Le nom du fichier comporte 13 caractères. devrait donc avoir des zéros en conséquence.
Je n'ai pas commencé mon code. Je ne sais pas par où dois-je commencer.
4 Réponses :
Vous pouvez utiliser os.rename()
depuis le module os
import os path = '/Users/myName/Desktop/directory' files = os.listdir(path) for index, file in enumerate(files): os.rename(os.path.join(path, file), os.path.join(path, ''.join([str(index), '.jpg']))) directory = path.parent #current file location new_name = "text" + old_name + old_extension path.rename(pathlib.Path(directory, new_name))
Vous pouvez utiliser os.rename
. Par exemple:
for file in os.listdir(): # Get the number, e.g.: old_number = file.strip("file")[1].strip(".JPG")[0] os.rename(file, f"{old_number}.JPG")
Vous devrez peut-être vous adapter en fonction de la façon dont vos fichiers sont réellement nommés
import os # Function to rename multiple files def main(): for count, filename in enumerate(os.listdir("path-to-files")): d = str(count).zfill(12) dst = d + ".jpg" src ='path-to-file'+ filename dst ='path-to-file'+ dst # rename() function will # rename all the files os.rename(src, dst) # Driver Code if __name__ == '__main__': # Calling main() function main()