Pular para o conteúdo

RenameFile

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.
Nicholas Amorim marshall
Hits: 6.420 Categoria: Python Subcategoria: Manipulação de arquivos
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.
Download rename.py Enviar nova versão

Esconder código-fonte

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"

Exemplo de armazenamento de registros em arquivo

Agenda Python

Organizando suas músicas com Python

Hashing com Árvore Binária

Manipulando as informações do USBfs no Linux

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.