RenameFile
Publicado por Nicholas Amorim 12/12/2005
[ Hits: 6.216 ]
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"
Criando um rootfs para sistemas embarcados a partir de cópia de um sistema já operando
Mini-dicionário de termos em Python e PyQT 4
Web Scraping para coletar dados dos pilotos da Fórmula 1
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal não gostar de KDE? (8)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









