associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Revisão 1e 2005-12-11 03:17:32

Excluir mensagem

RenameFiles

Receita: RenameFile

Este script Python renomeia os arquivos seguindo um padrão e/ou deixa tudo minúsculo e substitui os espaços por underline. No renomeio também pode existir prefixo e/ou sufixo determinado pelo usuário. Ideal para empresas de criação de sites (eu mesmo uso em uma :D)

Código

   1 import sys
   2 
   3 if __name__ == '__main__':
   4    print "import os
   5 import string
   6 
   7 diretorio = raw_input("Digite o diretorio onde serao feita as alteracoes: ")
   8 
   9 while not os.access(diretorio, 1):
  10   print 'O diretorio nao existe! Tente novamente'
  11   diretorio = raw_input("\nDigite o diretorio onde serao feita as alteracoes: ")
  12 else:
  13   os.chdir(diretorio)
  14 
  15 print "Escolha as opcoes abaixo:\n\n\
  16 1. Substituir espacos por underlines e deixar tudo minusculo\n\
  17 2. Renomear arquivos sequencialmente\n\n"
  18 
  19 opcao = raw_input("Qual opcao ira ser, newbaboy ? ")
  20 
  21 if opcao == '1':
  22   print "Os seguintes arquivos serao modificados: \n"
  23   print os.listdir(diretorio)
  24   confirm = raw_input("Deseja prosseguir ? S/N: ")
  25   
  26   if confirm == 'S' or 's':
  27     for arquivo in os.listdir(diretorio):
  28       x = arquivo
  29       os.rename(x,string.lower(x))
  30       s = string.split(x)
  31       z = string.join(s,'_')
  32       os.rename(x,z)
  33   print "Operacao realizada com sucesso! Os arquivos modificados ficaram assim:\n"
  34   print os.listdir(diretorio)
  35 
  36 elif opcao == '2':
  37   y = 1
  38   prefixo = raw_input("Coloque prefixo, se houver. Enter para prosseguir ")
  39   sufixo = raw_input("Coloque sufixo se houver. Enter para prosseguir ")
  40   for arquivo in os.listdir(diretorio):
  41     x = arquivo
  42     s = string.split(x,'.')
  43     if prefixo and sufixo:
  44       os.rename(x,prefixo+str(y)+sufixo+'.'+s[1])
  45       y = y + 1
  46     elif prefixo:
  47       os.rename(x,prefixo+str(y)+'.'+s[1])
  48       y = y + 1
  49     elif sufixo:
  50       os.rename(x,str(y)+sufixo+'.'+s[1])
  51       y = y + 1
  52     else:
  53       os.rename(x,str(y)+'.'+s[1])
  54       y = y + 1
  55     "

Exemplo de uso

   1 import sys
   2 
   3 if __name__ == '__main__':
   4    print "Não tem mistério... é só usar, ele é auto-explicativo. :)"

Volta para CookBook.


Nicholas Amorim Santos (Marshall)