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