-1
votes

Renommer tous les fichiers d'un dossier avec python en utilisant une condition spécifique

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.


0 commentaires

4 Réponses :


0
votes

Vous pouvez utiliser os.rename() depuis le module os


0 commentaires

0
votes
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))

0 commentaires

0
votes

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


0 commentaires

0
votes
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() 
    

0 commentaires