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
-
Clone este repositório:
git clone https://github.com/seu-usuario/fileutils.git cd fileutils
-
Instale as dependências:
pip install tqdm
-
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")
-
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b18b1eaad3bb60fd731b2bde7ea7befc54d621bb4b5d285dc8f425371e032dce
|
|
| MD5 |
6165f5b4ad62f0691a55efb26c9d2e17
|
|
| BLAKE2b-256 |
fdcf19374cb2e06d67e70fde0f5043c20831c9247f5e2744e089d6c51911b05e
|
File details
Details for the file python_fileutils-0.0.5-py3-none-any.whl.
File metadata
- Download URL: python_fileutils-0.0.5-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3684ad29f3365e9e4eaa1d6d001a59829615b72e64b27dd798ca909ac32dfe2a
|
|
| MD5 |
29f90fee249ad3d28899bbb01d68a01a
|
|
| BLAKE2b-256 |
5146a99153b0fd466d8097e46366202e366d2e025c441b5dba5cb0111b976ab9
|