Repolode
Tinche

Tinche/aiofiles

Uma biblioteca compatível com asyncio que executa operações bloqueantes de IO em arquivos locais, os, tempfile e pathlib em um thread pool, sem travar o event loop.

Estrelas
3,269
Forks
182
Issues abertas
66
Último commit
há 3 dias

O que é?

aiofiles é uma biblioteca Python para ler e gravar arquivos locais em aplicações asyncio. O IO convencional em arquivos bloqueia a thread em execução, o que pode travar um event loop. aiofiles oferece objetos de arquivo assíncronos, cujos métodos, como read, write e seek, são coroutines que delegam o trabalho a um executor de thread pool.

A API é muito parecida com a de open(), permitindo adaptar o código existente com facilidade; também é possível iterar pelas linhas com async for. O pacote inclui ainda wrappers assíncronos para o módulo tempfile, para as funções de os que operam em arquivos e diretórios e uma alternativa a pathlib.Path cujos métodos de sistema de arquivos podem ser usados com await.

Instale com pip install aiofiles. O projeto usa a licença Apache-2.0 e os testes são executados com tox.

Recursos principais

  • 01Objetos de arquivo assíncronos com uma API semelhante à de open()
  • 02Operações bloqueantes em arquivos executadas em um executor de thread pool
  • 03Iteração assíncrona pelas linhas de um arquivo com async for
  • 04Wrappers assíncronos para tempfile e funções comuns de os relacionadas a arquivos
  • 05pathlib.Path assíncrono, com métodos de sistema de arquivos que podem ser usados com await

Casos de uso

  • Ler ou gravar arquivos de log e dados em um servidor web asyncio sem bloquear as requisições
  • Criar arquivos ou diretórios temporários dentro de tarefas assíncronas
  • Percorrer árvores de diretórios de forma assíncrona usando chamadas no estilo pathlib

Início rápido

  1. 1

    Instale aiofiles do PyPI

    pip install aiofiles
  2. 2

    Abra um arquivo de forma assíncrona com aiofiles.open e use await para fazer leituras

Antes de usar

  • As operações com arquivos são executadas em um pool de threads, portanto não são verdadeiramente não bloqueantes no nível do sistema operacional.

Tópicos

Perguntas frequentes

O que é aiofiles?
Uma biblioteca compatível com asyncio que executa operações bloqueantes de IO em arquivos locais, os, tempfile e pathlib em um thread pool, sem travar o event loop. aiofiles é uma biblioteca Python para ler e gravar arquivos locais em aplicações asyncio. O IO convencional em arquivos bloqueia a thread em execução, o que pode travar um event loop. aiofiles oferece objetos de arquivo assíncronos, cujos métodos, como read, write e seek, são coroutines que delegam o trabalho a um executor de thread pool.
aiofiles é gratuito? Qual é a licença?
aiofiles é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
aiofiles ainda é mantido?
Manutenção ativa. O último commit de aiofiles foi em 21 de out. de 2026.
Para que posso usar aiofiles?
Ler ou gravar arquivos de log e dados em um servidor web asyncio sem bloquear as requisições Criar arquivos ou diretórios temporários dentro de tarefas assíncronas Percorrer árvores de diretórios de forma assíncrona usando chamadas no estilo pathlib
Como instalar aiofiles?
Instale aiofiles do PyPI: pip install aiofiles Abra um arquivo de forma assíncrona com aiofiles.open e use await para fazer leituras
Onde consigo aiofiles?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Tinche/aiofiles

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados