Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2019
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.45 KB | None | 0 0
  1. import os
  2. import sys
  3. import shutil as st
  4.  
  5. def criarPastas(pastas):
  6.     curdir = os.getcwd()
  7.     dirList = [ i for i in os.listdir(curdir) if os.path.isdir(os.path.join(curdir,i))]
  8.     count = 0
  9.  
  10.     for pasta in pastas:
  11.         if not pasta in dirList:
  12.             path = os.path.join(curdir, pasta)
  13.  
  14.             os.mkdir(path)
  15.             print('pasta "%s" criada' %pasta)
  16.             count += 1
  17.     return count
  18.  
  19. def buscarArquivos(formatos, pasta_destino, pasta_atual):
  20.     arquivos = []
  21.     pastas = []
  22.     numpastas = 0
  23.     numarqs = 0
  24.  
  25.     # separando pastas e arquivos
  26.     for arquivo in os.listdir(pasta_atual):
  27.         caminhoAbsoluto = os.path.join(pasta_atual, arquivo)
  28.  
  29.         # se for pasta e não começar com .
  30.         if os.path.isdir(caminhoAbsoluto):
  31.             # ignora pastas que iniciam com . e a pasta destino
  32.             if arquivo[0] != '.' and arquivo != os.path.split(pasta_destino)[-1]:
  33.                 pastas.append(caminhoAbsoluto)
  34.                 numpastas += 1
  35.             continue
  36.  
  37.         # se for arquivo e estiver na lista de formatos
  38.         elif (arquivo.split('.')[-1] in formatos):
  39.             arquivos.append(caminhoAbsoluto)
  40.             numarqs += 1
  41.             #print(arquivo, 'adicionado')
  42.     print("---------------------------------------------------------")
  43.     print("Diretorio:", pasta_atual)
  44.     print('Pastas encontradas:', numpastas, '\nArquivos compativeis:', numarqs)
  45.  
  46.     # movendo arquivos da pasta atual
  47.     for arq in arquivos:
  48.         nome = os.path.split(arq)[-1]
  49.         try:
  50.             comando = 'sudo mv ' + arq + ' ' + pasta_destino
  51.             print(comando)
  52.             os.system(comando)
  53.         except:
  54.             print('arquivo não movido:' + nome)
  55.  
  56.     for pasta in pastas:
  57.         buscarArquivos(formatos, pasta_destino, pasta)
  58.        
  59. def main():
  60.     pastas = ['pyImagens', 'pyVideos', 'pyDocum']
  61.  
  62.     fimg = ['jpg', 'png', 'jpeg', 'gif']
  63.     fvid = ['mp4', 'avi', 'mov', 'wmv', 'flv', '3gp', 'mkv', 'rm', 'webm']
  64.     fdoc = ['doc', 'pdf', 'ppt', 'pptx']
  65.     formatos = [fimg, fvid, fdoc]
  66.  
  67.     ###### execução do programa
  68.     if not criarPastas(pastas):
  69.         print("Nenhuma pasta foi criada\n")
  70.     input("Pressione qualquer tecla para iniciar")
  71.  
  72.     for i in range(3):
  73.         destino = os.path.join(os.getcwd(), pastas[i])
  74.         print('Buscando', pastas[i][2:].lower())
  75.         buscarArquivos(formatos[i], destino, os.getcwd())
  76.  
  77.  
  78. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement