Question

J'ai un répertoire plein de fichiers, dont certains portent une esperluette. Je voudrais renommer tous les fichiers avec des esperluettes et remplacer chaque esperluette par un plus (+). Je travaille avec environ 10k fichiers. Quelle serait la meilleure méthode pour le faire?

Était-ce utile?

La solution

import glob, os
for filename in glob.glob(os.path.join(yourPath, "*&*")):
   os.rename(filename, filename.replace('&','+'))

Autres conseils

Si vous avez des sous-répertoires:

import os
for dirpath, dirs, files in os.walk(your_path):
    for filename in files:
        if '&' in filename:
            os.rename(
                os.path.join(dirpath, filename),
                os.path.join(dirpath, filename.replace('&', '+'))
            )
import os
directory = '.'
for file in os.listdir(directory):
    if '&' in file :
        os.rename(file, file.replace('&', '+'))

Remplacez le répertoire par votre propre chemin.

en utilisant renommer :

$ rename --find '&' --replace '+' *
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top