Checagem e remoção de arquivos
Publicado por Émerson Moreira (última atualização em 19/10/2014)
[ Hits: 7.846 ]
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.
# 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 !!!!'
Dividir um grupo de arquivos em vários CDs Ou DVDs
subwrite - um simples editor de texto em Python
Descobrir HOME do usuario e criar arquivo de configuração
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
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[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