Skip to main content

Biblioteca utilitária para manipulação de arquivos

Project description

FileUtils - Gerenciamento de Arquivos em Python

Este projeto fornece utilitários para manipulação de arquivos em Python, incluindo listagem, cópia, movimentação, remoção e compactação de arquivos. Além disso, inclui testes unitários para garantir a correta funcionalidade dos métodos implementados.

📌 Funcionalidades

O módulo fileutils.py contém as seguintes funções:

  • Listagem de arquivos: list_files(source_dir, extensions, include_sub_dir=False)

    • Retorna uma lista de arquivos em um diretório com as extensões especificadas.
  • Movimentação de arquivos: move_files(files_to_move, destination_dir, verbose=True)

    • Move arquivos para um diretório de destino.
  • Remoção de arquivos: remove_files(file_list, verbose=True)

    • Remove arquivos do sistema.
  • Cópia de arquivos: copy_files(file_list, destination_dir, prefix="copy_", verbose=True)

    • Copia arquivos para um diretório de destino com um prefixo opcional.
  • Compactação de arquivos: zip_files(files_to_zip, output_zip, verbose=True)

    • Cria um arquivo ZIP contendo os arquivos especificados.
  • Extração de arquivos ZIP: unzip_files(zip_file, extract_to)

    • Extrai arquivos de um ZIP para um diretório específico.
  • Remoção de assinaturas digitais de arquivos: remove_signature(file_list, output_dir, sign_start="|9999|", encoding="utf-8", verbose=True)

    • Remove assinaturas digitais de arquivos a partir de um marcador específico.
  • Organização de arquivos: organize(source_dir, destination_dir, file_selector=default_file_selector, copy=True, verbose=True)

    • Organiza arquivos conforme um função seletora e move ou copia para um diretório específico.

🧪 Testes Unitários

O projeto inclui testes unitários para validar a funcionalidade das funções. Os testes são implementados nos seguintes arquivos:

  • 01_list_files_test.py: Testa a listagem de arquivos no diretório.
  • 02_copy_files_test.py: Testa a cópia de arquivos para um diretório de destino.
  • 03_unzip_files_test.py: Testa a extração de arquivos ZIP.
  • 04_zip_file_test.py: Testa a criação de arquivos ZIP.
  • 05_organize_test.py: Testa a organização de arquivos para um diretório de destino.

Os testes utilizam unittest e podem ser executados com:

python -m unittest discover

🚀 Como Usar

  1. Clone este repositório:

    git clone https://github.com/seu-usuario/fileutils.git
    cd fileutils
    
  2. Instale as dependências:

    pip install tqdm
    
  3. Utilize os métodos diretamente no seu código Python, por exemplo:

    from fileutils import list_files, copy_files
    
    arquivos = list_files(source_dir="meu_diretorio", extensions=(".txt", ".csv"))
    copy_files(arquivos, destination_dir="backup")
    
  4. Execute os testes para verificar a integridade do código:

    python -m unittest discover
    

📜 Licença

Este projeto está sob a licença MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_fileutils-0.0.5.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_fileutils-0.0.5-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file python_fileutils-0.0.5.tar.gz.

File metadata

  • Download URL: python_fileutils-0.0.5.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for python_fileutils-0.0.5.tar.gz
Algorithm Hash digest
SHA256 b18b1eaad3bb60fd731b2bde7ea7befc54d621bb4b5d285dc8f425371e032dce
MD5 6165f5b4ad62f0691a55efb26c9d2e17
BLAKE2b-256 fdcf19374cb2e06d67e70fde0f5043c20831c9247f5e2744e089d6c51911b05e

See more details on using hashes here.

File details

Details for the file python_fileutils-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for python_fileutils-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3684ad29f3365e9e4eaa1d6d001a59829615b72e64b27dd798ca909ac32dfe2a
MD5 29f90fee249ad3d28899bbb01d68a01a
BLAKE2b-256 5146a99153b0fd466d8097e46366202e366d2e025c441b5dba5cb0111b976ab9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page