Framework web Python para criar APIs com type hints padrão, validação automática, documentação OpenAPI e alto desempenho.
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
Instale aiofiles do PyPI
pip install aiofiles - 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
Biblioteca Python de rate limiting com algoritmos Fixed Window, Sliding Window, Token Bucket, Leaky Bucket e GCRA, usando armazenamento em Redis ou em memória.
Biblioteca de utilitários em Python puro, com mais de 230 recursos que ampliam a biblioteca padrão e sem dependências.
Wrapper assíncrono em Python puro para a Telegram Bot API, com classes de alto nível em telegram.ext para criar bots.
Cliente HTTP para Python baseado no curl que pode imitar fingerprints de TLS, JA3 e HTTP/2 de navegadores para contornar bloqueios.
Um framework ASGI leve e um toolkit para criar serviços web assíncronos e APIs em Python.