Advertisement
MizunoBrasil

Organizar Downloads

Apr 14th, 2025
529
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.81 KB | None | 0 0
  1. import os
  2. import shutil
  3.  
  4. # Obter o diretório atual onde o script está
  5. diretorio_atual = os.path.dirname(os.path.abspath(__file__))
  6.  
  7. # Extensões a serem ignoradas
  8. extensoes_ignoradas = ['.py', '.exe']
  9.  
  10. # Pastas a serem ignoradas (inicialmente vazia, vamos alimentar ela ao longo do script)
  11. pastas_ja_existentes_com_conteudo = []
  12.  
  13. # Verifica as pastas existentes com arquivos dentro
  14. for item in os.listdir(diretorio_atual):
  15.     caminho = os.path.join(diretorio_atual, item)
  16.     if os.path.isdir(caminho):
  17.         if os.listdir(caminho):  # se a pasta tem arquivos
  18.             pastas_ja_existentes_com_conteudo.append(item.lower())
  19.  
  20. # Percorrer os arquivos do diretório atual
  21. for item in os.listdir(diretorio_atual):
  22.     caminho_completo = os.path.join(diretorio_atual, item)
  23.  
  24.     if os.path.isfile(caminho_completo):
  25.         nome_arquivo, extensao = os.path.splitext(item)
  26.  
  27.         if extensao and extensao.lower() not in extensoes_ignoradas:
  28.             nome_pasta = extensao[1:].lower()  # remove o ponto da extensão
  29.  
  30.             # Se a pasta de destino já existe e tem conteúdo, ignorar
  31.             if nome_pasta in pastas_ja_existentes_com_conteudo:
  32.                 print(f"Ignorado: {item} → Pasta '{nome_pasta}' já existe com conteúdo.")
  33.                 continue
  34.  
  35.             pasta_destino = os.path.join(diretorio_atual, nome_pasta)
  36.  
  37.             # Cria a pasta se ela não existir
  38.             if not os.path.exists(pasta_destino):
  39.                 os.makedirs(pasta_destino)
  40.  
  41.             # Move o arquivo
  42.             novo_caminho = os.path.join(pasta_destino, item)
  43.             try:
  44.                 shutil.move(caminho_completo, novo_caminho)
  45.                 print(f"Movido: {item} → {pasta_destino}/")
  46.             except Exception as e:
  47.                 print(f"Erro ao mover {item}: {e}")
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement