Pregunta

Tengo un directorio lleno de archivos, algunos con ampersand en sus nombres. Me gustaría cambiar el nombre de todos los archivos con símbolos y reemplazar cada símbolo con un signo más (+). Estoy trabajando con alrededor de 10k archivos. ¿Cuál sería el mejor método para hacer esto?

¿Fue útil?

Solución

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

Otros consejos

Si tiene subdirectorios:

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('&', '+'))

Reemplace el directorio con su propia ruta.

utilizando rename :

$ rename --find '&' --replace '+' *
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top