python-fileutils


Namepython-fileutils JSON
Version 0.0.6 PyPI version JSON
download
home_pageNone
SummaryBiblioteca utilitária para manipulação de arquivos
upload_time2025-02-02 01:53:02
maintainerNone
docs_urlNone
authorIsmael Nascimento
requires_python>=3.6
licenseMIT License
keywords file utils
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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:

```sh
python -m unittest discover
```

## 🚀 Como Usar

1. Clone este repositório:
   ```sh
   git clone https://github.com/seu-usuario/fileutils.git
   cd fileutils
   ```

2. Instale as dependências:
   ```sh
   pip install tqdm
   ```

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

   ```python
   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:
   ```sh
   python -m unittest discover
   ```

## 📜 Licença

Este projeto está sob a licença MIT.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "python-fileutils",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "file utils",
    "author": "Ismael Nascimento",
    "author_email": "ismaelnjr@icloud.com",
    "download_url": "https://files.pythonhosted.org/packages/8d/6e/9ba70c4fb11cc83c65bf226ae89de4f3bc239bcb056a4d655a53fa9adfa0/python_fileutils-0.0.6.tar.gz",
    "platform": null,
    "description": "# FileUtils - Gerenciamento de Arquivos em Python\r\n\r\nEste projeto fornece utilit\u00c3\u00a1rios para manipula\u00c3\u00a7\u00c3\u00a3o de arquivos em Python, incluindo listagem, c\u00c3\u00b3pia, movimenta\u00c3\u00a7\u00c3\u00a3o, remo\u00c3\u00a7\u00c3\u00a3o e compacta\u00c3\u00a7\u00c3\u00a3o de arquivos. Al\u00c3\u00a9m disso, inclui testes unit\u00c3\u00a1rios para garantir a correta funcionalidade dos m\u00c3\u00a9todos implementados.\r\n\r\n## \u00f0\u0178\u201c\u0152 Funcionalidades\r\n\r\nO m\u00c3\u00b3dulo `fileutils.py` cont\u00c3\u00a9m as seguintes fun\u00c3\u00a7\u00c3\u00b5es:\r\n\r\n- **Listagem de arquivos**: `list_files(source_dir, extensions, include_sub_dir=False)`\r\n  - Retorna uma lista de arquivos em um diret\u00c3\u00b3rio com as extens\u00c3\u00b5es especificadas.\r\n  \r\n- **Movimenta\u00c3\u00a7\u00c3\u00a3o de arquivos**: `move_files(files_to_move, destination_dir, verbose=True)`\r\n  - Move arquivos para um diret\u00c3\u00b3rio de destino.\r\n\r\n- **Remo\u00c3\u00a7\u00c3\u00a3o de arquivos**: `remove_files(file_list, verbose=True)`\r\n  - Remove arquivos do sistema.\r\n\r\n- **C\u00c3\u00b3pia de arquivos**: `copy_files(file_list, destination_dir, prefix=\"copy_\", verbose=True)`\r\n  - Copia arquivos para um diret\u00c3\u00b3rio de destino com um prefixo opcional.\r\n\r\n- **Compacta\u00c3\u00a7\u00c3\u00a3o de arquivos**: `zip_files(files_to_zip, output_zip, verbose=True)`\r\n  - Cria um arquivo ZIP contendo os arquivos especificados.\r\n\r\n- **Extra\u00c3\u00a7\u00c3\u00a3o de arquivos ZIP**: `unzip_files(zip_file, extract_to)`\r\n  - Extrai arquivos de um ZIP para um diret\u00c3\u00b3rio espec\u00c3\u00adfico.\r\n\r\n- **Remo\u00c3\u00a7\u00c3\u00a3o de assinaturas digitais de arquivos**: `remove_signature(file_list, output_dir, sign_start=\"|9999|\", encoding=\"utf-8\", verbose=True)`\r\n  - Remove assinaturas digitais de arquivos a partir de um marcador espec\u00c3\u00adfico.\r\n\r\n- **Organiza\u00c3\u00a7\u00c3\u00a3o de arquivos**: `organize(source_dir, destination_dir, file_selector=default_file_selector, copy=True, verbose=True)`\r\n  - Organiza arquivos conforme um fun\u00c3\u00a7\u00c3\u00a3o seletora e move ou copia para um diret\u00c3\u00b3rio espec\u00c3\u00adfico.\r\n\r\n## \u00f0\u0178\u00a7\u00aa Testes Unit\u00c3\u00a1rios\r\n\r\nO projeto inclui testes unit\u00c3\u00a1rios para validar a funcionalidade das fun\u00c3\u00a7\u00c3\u00b5es. Os testes s\u00c3\u00a3o implementados nos seguintes arquivos:\r\n\r\n- `01_list_files_test.py`: Testa a listagem de arquivos no diret\u00c3\u00b3rio.\r\n- `02_copy_files_test.py`: Testa a c\u00c3\u00b3pia de arquivos para um diret\u00c3\u00b3rio de destino.\r\n- `03_unzip_files_test.py`: Testa a extra\u00c3\u00a7\u00c3\u00a3o de arquivos ZIP.\r\n- `04_zip_file_test.py`: Testa a cria\u00c3\u00a7\u00c3\u00a3o de arquivos ZIP.\r\n- `05_organize_test.py`: Testa a organiza\u00c3\u00a7\u00c3\u00a3o de arquivos para um diret\u00c3\u00b3rio de destino.\r\n\r\nOs testes utilizam `unittest` e podem ser executados com:\r\n\r\n```sh\r\npython -m unittest discover\r\n```\r\n\r\n## \u00f0\u0178\u0161\u20ac Como Usar\r\n\r\n1. Clone este reposit\u00c3\u00b3rio:\r\n   ```sh\r\n   git clone https://github.com/seu-usuario/fileutils.git\r\n   cd fileutils\r\n   ```\r\n\r\n2. Instale as depend\u00c3\u00aancias:\r\n   ```sh\r\n   pip install tqdm\r\n   ```\r\n\r\n3. Utilize os m\u00c3\u00a9todos diretamente no seu c\u00c3\u00b3digo Python, por exemplo:\r\n\r\n   ```python\r\n   from fileutils import list_files, copy_files\r\n\r\n   arquivos = list_files(source_dir=\"meu_diretorio\", extensions=(\".txt\", \".csv\"))\r\n   copy_files(arquivos, destination_dir=\"backup\")\r\n   ```\r\n\r\n4. Execute os testes para verificar a integridade do c\u00c3\u00b3digo:\r\n   ```sh\r\n   python -m unittest discover\r\n   ```\r\n\r\n## \u00f0\u0178\u201c\u0153 Licen\u00c3\u00a7a\r\n\r\nEste projeto est\u00c3\u00a1 sob a licen\u00c3\u00a7a MIT.\r\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "Biblioteca utilit\u00e1ria para manipula\u00e7\u00e3o de arquivos",
    "version": "0.0.6",
    "project_urls": null,
    "split_keywords": [
        "file",
        "utils"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "863c49b8aea2918a42be2a032792e01663948c8b6ca6b5c1c94f376fd711096e",
                "md5": "be60c8053e73cdfebb091f0d37b89841",
                "sha256": "b192dc27e0db3226beb77fa67af80cc7f935034a59e8d569c473b11b5691146c"
            },
            "downloads": -1,
            "filename": "python_fileutils-0.0.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "be60c8053e73cdfebb091f0d37b89841",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 6231,
            "upload_time": "2025-02-02T01:53:00",
            "upload_time_iso_8601": "2025-02-02T01:53:00.890427Z",
            "url": "https://files.pythonhosted.org/packages/86/3c/49b8aea2918a42be2a032792e01663948c8b6ca6b5c1c94f376fd711096e/python_fileutils-0.0.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8d6e9ba70c4fb11cc83c65bf226ae89de4f3bc239bcb056a4d655a53fa9adfa0",
                "md5": "6a7e2f549b1edc4eddb1e098657f8638",
                "sha256": "123cbb995b9cc9acbf904cce912f61e21370cf4cad8c528ecf953a70d533f047"
            },
            "downloads": -1,
            "filename": "python_fileutils-0.0.6.tar.gz",
            "has_sig": false,
            "md5_digest": "6a7e2f549b1edc4eddb1e098657f8638",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 6060,
            "upload_time": "2025-02-02T01:53:02",
            "upload_time_iso_8601": "2025-02-02T01:53:02.617198Z",
            "url": "https://files.pythonhosted.org/packages/8d/6e/9ba70c4fb11cc83c65bf226ae89de4f3bc239bcb056a4d655a53fa9adfa0/python_fileutils-0.0.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-02 01:53:02",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "python-fileutils"
}
        
Elapsed time: 1.17786s