= 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) Ele conta com uma interface interativa, ativada através da opção '-i' e outras mais automatizadas... O código está meio grande, mas daqui algum tempo colocarei cada operação em sua devida function :) == Código == {{{ #!python import os import sys try: if sys.argv[1] == '-h': print "Ajuda do programa:\nSintaxe: rename.py [argumento] [diretorio] [prefixo/sufixo] [sufixo]\n\ \n-h\tMostra essa ajuda\n\ \n-i\tModo Interativo, ideal para a primeira vez de uso\n\ \n-p\tRenomeia automaticamente todos os arquivos do diretorio especificado \n\tusando o prefixo indicado (numericamente sequencial)\n\ \n-s\tRenomeia automaticamente todos os arquivos do diretorio especificado \n\tusando o sufixo indicado (numericamente sequencial)\n\ \n-a\tRenomeia automaticamente todos os arquivos do diretorio especificado \n\tusando prefixo e sufixo indicados (numericamente sequencial)\n\ \n-e\tSubstitui os espacos por underlines e deixa tudo minusculo nos arquivos\n\tdo diretorio especificado" elif sys.argv[1] == '-i': diretorio = raw_input("Digite o diretorio onde serao feita as alteracoes: ") while not os.access(diretorio, 1): print 'O diretorio nao existe! Tente novamente' diretorio = raw_input("\nDigite o diretorio onde serao feita as alteracoes: ") else: os.chdir(diretorio) print "Escolha as opcoes abaixo:\n\n\ 1. Substituir espacos por underlines e deixar tudo minusculo\n\ 2. Renomear arquivos sequencialmente\n\n" opcao = raw_input("Qual opcao ira ser, newbaboy ? ") if opcao == '1': print "Os seguintes arquivos serao modificados: \n" print os.listdir(diretorio) confirm = raw_input("Deseja prosseguir ? S/N: ") print os.getcwd() if confirm == 'S' or 's': try: for arquivo in os.listdir(diretorio): x = arquivo os.rename(x,x.lower()) for arquivo in os.listdir(diretorio): x = arquivo s = x.split() z = '_'.join(s) os.rename(x,z) except OSError: pass print "Operacao realizada com sucesso! Os arquivos modificados ficaram assim:\n" print os.listdir(diretorio) elif opcao == '2': y = 1 prefixo = raw_input("Coloque prefixo, se houver. Enter para prosseguir ") sufixo = raw_input("Coloque sufixo se houver. Enter para prosseguir ") for arquivo in os.listdir(diretorio): x = arquivo s = x.split('.') if prefixo and sufixo: os.rename(x,prefixo+str(y)+sufixo+'.'+s[1]) y = y + 1 elif prefixo: os.rename(x,prefixo+str(y)+'.'+s[1]) y = y + 1 elif sufixo: os.rename(x,str(y)+sufixo+'.'+s[1]) y = y + 1 else: os.rename(x,str(y)+'.'+s[1]) y = y + 1 elif sys.argv[1] == '-p' and sys.argv[2]: y = 1 try: prefixo = sys.argv[3] diretorio = sys.argv[2] os.chdir(diretorio) for arquivo in os.listdir(diretorio): x = arquivo s = x.split('.') os.rename(x,prefixo+str(y)+'.'+s[1]) y = y + 1 print "\nOperacao realizada com sucesso!" except IndexError: print "\nPrefixo invalido" elif sys.argv[1] == '-s' and sys.argv[2]: y = 1 try: sufixo = sys.argv[3] diretorio = sys.argv[2] os.chdir(diretorio) for arquivo in os.listdir(diretorio): x = arquivo s = x.split('.') os.rename(x,str(y)+sufixo+'.'+s[1]) y = y + 1 print "\nOperacao realizada com sucesso!" except IndexError: print "\nSufixo invalido" elif sys.argv[1] == '-a' and sys.argv[2]: y = 1 try: diretorio = sys.argv[2] prefixo = sys.argv[3] sufixo = sys.argv[4] os.chdir(diretorio) for arquivo in os.listdir(diretorio): x = arquivo s = x.split('.') os.rename(x,prefixo+str(y)+sufixo+'.'+s[1]) y = y + 1 print "\nOperacao realizada com sucesso!" except IndexError: print "\nTem certeza que digitou ambos ? (Prefixo e sufixo)" except IndexError: print "\nO argumento -h mostra a ajuda do programa" }}} == Exemplo de uso == Queres mesmo saber ? python rename.py -h :) Quem quiser melhorar algo entrar em contato comigo: exista@gmail.com Volta para CookBook. ---- Nicholas Amorim Santos (Marshall)