Renomear arquivos, Python / Jython
Pergunta
Eu tenho um diretório cheio de arquivos, alguns que têm um e comercial em seus nomes. Eu gostaria de mudar o nome de todos os arquivos com ampersands e substitua cada comercial com um sinal de mais (+). Eu estou trabalhando com cerca de 10 mil arquivos. Qual seria o melhor método para fazer isso?
Solução
import glob, os
for filename in glob.glob(os.path.join(yourPath, "*&*")):
os.rename(filename, filename.replace('&','+'))
Outras dicas
Se você tem subdiretórios:
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('&', '+'))
Substituir directory
com o seu próprio caminho.
$ rename --find '&' --replace '+' *
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow