Advertisement
MizunoBrasil

Lista arquivos da Pasta e Salva em Planilha

May 14th, 2024 (edited)
546
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.90 KB | None | 0 0
  1. #Lista arquivos e seus respectivos tamanhos dentro de uma Pasta e Salva em Planilha.
  2.  
  3. import os
  4. from openpyxl import Workbook
  5.  
  6. def listar_arquivos(diretorio):
  7.     # Lista todos os arquivos no diretório com seus tamanhos
  8.     arquivos = []
  9.     total_tamanho = 0
  10.     for nome_arquivo in os.listdir(diretorio):
  11.         caminho_completo = os.path.join(diretorio, nome_arquivo)
  12.         tamanho = os.path.getsize(caminho_completo)  # Tamanho em bytes
  13.         arquivos.append((nome_arquivo, tamanho))
  14.         total_tamanho += tamanho
  15.     return arquivos, len(arquivos), total_tamanho / (1024 * 1024), total_tamanho / (1024 * 1024 * 1024)  # Retornando a soma total em MB e GB
  16.  
  17. def salvar_em_xlsx(arquivos, diretorio, nome_arquivo, num_arquivos, total_tamanho_mb, total_tamanho_gb):
  18.     # Caminho completo para o arquivo Excel
  19.     caminho_completo = os.path.join(diretorio, nome_arquivo)
  20.    
  21.     # Cria uma nova planilha
  22.     wb = Workbook()
  23.     ws = wb.active
  24.  
  25.     # Adiciona cabeçalhos
  26.     ws['A1'] = 'Nome do Arquivo'
  27.     ws['B1'] = 'Tamanho em Megabytes'
  28.  
  29.     # Escreve os nomes dos arquivos e seus tamanhos na planilha
  30.     for i, (arquivo, tamanho) in enumerate(arquivos, start=2):
  31.         ws[f'A{i}'] = arquivo
  32.         ws[f'B{i}'] = tamanho / (1024 * 1024)  # Convertendo bytes para megabytes
  33.  
  34.     # Escreve o número de arquivos no final da planilha
  35.     ws[f'A{num_arquivos + 3}'] = 'Número de arquivos:'
  36.     ws[f'B{num_arquivos + 3}'] = num_arquivos
  37.  
  38.     # Escreve a soma total dos tamanhos dos arquivos em megabytes no final da planilha
  39.     ws[f'A{num_arquivos + 4}'] = 'Tamanho total (MB):'
  40.     ws[f'B{num_arquivos + 4}'] = total_tamanho_mb
  41.  
  42.     # Escreve a soma total dos tamanhos dos arquivos em gigabytes no final da planilha
  43.     ws[f'A{num_arquivos + 5}'] = 'Tamanho total (GB):'
  44.     ws[f'B{num_arquivos + 5}'] = total_tamanho_gb
  45.  
  46.     # Salva a planilha
  47.     wb.save(caminho_completo)
  48.  
  49. def main():
  50.     # Diretório do script
  51.     diretorio_script = os.path.dirname(__file__)
  52.  
  53.     # Lista os arquivos no diretório do script, calcula o número total de arquivos e a soma total dos tamanhos
  54.     arquivos, num_arquivos, total_tamanho_mb, total_tamanho_gb = listar_arquivos(diretorio_script)
  55.  
  56.     # Nome do arquivo Excel para salvar
  57.     nome_arquivo = input("Digite o nome do arquivo Excel: ")
  58.  
  59.     # Adiciona a extensão .xlsx se não estiver presente
  60.     if not nome_arquivo.endswith('.xlsx'):
  61.         nome_arquivo += '.xlsx'
  62.  
  63.     # Salva os nomes dos arquivos em uma planilha Excel na mesma pasta
  64.     salvar_em_xlsx(arquivos, diretorio_script, nome_arquivo, num_arquivos, total_tamanho_mb, total_tamanho_gb)
  65.  
  66.     print(f"Nomes dos arquivos foram salvos em {nome_arquivo}.")
  67.     print(f"Número de arquivos: {num_arquivos}")
  68.     print(f"Tamanho total dos arquivos: {total_tamanho_mb} MB")
  69.     print(f"Tamanho total dos arquivos: {total_tamanho_gb} GB")
  70.  
  71. if __name__ == "__main__":
  72.     main()
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement