RenameFile
Publicado por Nicholas Amorim 12/12/2005
[ Hits: 5.944 ]
Este script renomeia arquivos seguindo um padrão (comumente usado na internet).
Ele pode deixar todas as letras de um arquvo em minúsculas e substituindo espaços por underlines.
Também pode renomear com prefixo e/ou sufixo numericamente sequencial.
Bem útil para empresas que trabalham com a criação e manutenção de sites da internet. (Eu trabalho em uma e sei o quanto é útil)
O código está meio que sem uma organização estruturada. Mas nada que impeça o pleno funcionamento.
import os import string import sys try: while not os.access(sys.argv[2],1): print "\nO diretorio especificado nao existe, tente novamente" break 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: ") if confirm == 'S' or 's': try: for arquivo in os.listdir(diretorio): x = arquivo os.rename(x,string.lower(x)) for arquivo in os.listdir(diretorio): x = arquivo s = string.split(x) z = string.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 = string.split(x,'.') 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 = string.split(x,'.') 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 = string.split(x,'.') 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 = string.split(x,'.') 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"
Expressão regular com input STDIN
Serialização em Python usando pickle
Pyconv - Conversor de codificação de caracteres
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Modernização e Avanço do Linux. (21)
Comportamento estranho dos aplicativos em usb bootavel do linux mint[D... (1)
Recuperando arquivo corrompido no cartão de memoria pelo linux [RESOLV... (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta