Checagem e remoção de arquivos

Publicado por Émerson Moreira (última atualização em 19/10/2014)

[ Hits: 7.845 ]

Download chec_e_rem.py




Esse script que criei em Python checa seus arquivos de uma pasta e vê se eles estão presentes em outra, se estiverem eles serão excluídos, senão continuam lá.

Fiz ele principalmente por causa das músicas repetidas em outras pastas para assim não precisar fazer esse trabalho manualmente.

  



Esconder código-fonte

# coding: utf-8

######!!!! Este programa checa suas musicas na pasta Musica e as compara com as da pasta Downloads !!!!######
######!!!! Se o nome for igual elas sera EXCLUIDA !!!!#########
#######!!! Se necessario altere os caminhos dos diretorios !!!!######
#######!!! SE quiser ... altere o caminho dos diretorios e tambem a extensao a ser utilizada pelo programa !!!########

import os
import glob
import shutil

def check_dirs():
   global dow
   global mus
   global dow_dir
   global mus_dir
   print 'Checando diretorios'
   dow_dir = os.path.expanduser('~/Downloads')
   mus_dir = os.path.expanduser('~/Música')
   dow = os.path.exists(dow_dir)
   mus = os.path.exists(mus_dir)
   while dow & mus == False :
      if dow & mus == True :
         print "!! Diretorios encontrados !!"
      else :
         print "!! Diretorios nao encontrados !!"
         dow_dir = raw_input('Digite o caminho para a pasta de Downloads : ')
         mus_dir = raw_input('Agora digite o caminho para a pasta de suas Musicas : ')
         print 'diretorio de Downloads : ' + dow_dir
         print 'diretorio de Músicas : ' + mus_dir
      dow = os.path.exists(dow_dir)
      mus = os.path.exists(mus_dir)
      if dow & mus == True :
         dow = dow_dir
         mus = mus_dir
   dow = dow_dir
   mus = mus_dir
   print '!! TUDO OK CHECAGEM TERMINADA !!'

check_dirs()
os.chdir(dow)
def chec_arq(x = 'mp3'):            ## Se voce alterar o mp3 ele procurará pela extensao de tal arquivo
   global arq               ## a lista de seus arquivos
   arq = glob.glob('*.' + x)
   print 'estas sao suas musicas :'
   print arq
   y = 0
   z = 0
   lista = []          ##lista que ira guardar o valor se existe ou nao o caminho de teus arquivos
   lista_apr = []      ## guardar o nome dos arquivos aprovados
   print len(arq)
   while z != len(arq) :
      print arq[z]
      lista.append(os.path.exists(mus + arq[z]))   ## adiciona o valor booleano a lista TRUE/FALSE
      lista[z] = str(lista[z])           ## que em seguida é convertido para string
      z = z + 1
   print lista
   while lista.count('False') != 0  :
      lista_apr.append(lista.index('False'))     ##adiciona somente os arquivos das posiçoes TRUE
      print lista_apr[y]
      arq.pop(lista_apr[y])                    ## exclui o primeiro item da lista denominado TRUE(de sua posiçao)
      lista.pop(lista_apr[y])                  ## a msm coisa q a linha d cima
      y = y + 1
   print 'estes serao excluidos : '
   print arq

val = raw_input('digite a extensao das suas musicas(se nao digitar nada sera o padrao mp3) : ')
if val != '' :
   chec_arq(x=val)
else :
   chec_arq(x = 'mp3')
def rmove(x = len(arq)):        ## esta funçao exclui todos os arquivos aprovados nos outros testes
   loop = 0
   while loop != x :
      os.remove(arq[loop])
      print 'removendo arquivo : ' + arq[loop]
      loop = loop + 1
rmove()
print '!!!! Tudo feito !!!!'

Scripts recomendados

ShellCrypTor criptografador de dados

Juntando tabelas em aquivo texto

Adicionar/remover usuários

Mini-dicionário de termos em Python e PyQT 4

Alterar LED do teclado


  

Comentários
[1] Comentário enviado por mrx6s0 em 19/12/2016 - 12:33h

opa, meu velho

teu script tá ótimo! parabéns

eu estou com um probleminha, que no teu código tem a solução parcial ou integral...

olhe o post aqui do VOL

https://www.vivaolinux.com.br/topico/Python/LISTAR-E-SELECIONAR-PASTAS-DO-DIRETORIO-EM-PYTHON-QUALQU...

olhe o pastebin com os códigos:

http://pastebin.com/raw/by6QxYQy


se puder me retornar ficarei realmente grato!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts