Biblioteca padrão do Python: módulos que resolvem problemas reais sem instalar nada

Veja como módulos da biblioteca padrão do Python resolvem tarefas comuns sem instalar pacotes externos.

Capa editorial sobre a biblioteca padrão do Python e seus módulos úteis.

Arte editorial original do Papo de Prompt.

Antes de instalar mais uma biblioteca para o seu script Python, vale olhar para o que já vem com a linguagem. A biblioteca padrão cobre tarefas comuns: organizar arquivos, trabalhar com datas, formatar texto, comparar documentos, ler configurações e lidar com dados estruturados.

Um script com muitos pacotes externos dá mais trabalho para instalar e reproduzir em outra máquina. Quando a tarefa cabe em um módulo da biblioteca padrão, o código fica mais simples de distribuir. A documentação oficial do Python 3.14 reúne esses recursos em um tour prático.

Texto legível no terminal

O módulo textwrap quebra frases em linhas com largura limitada. Relatórios e mensagens de log ficam melhores quando não estouram a janela.

import textwrap
mensagem = "Uma descrição longa pode ser exibida no terminal."
print(textwrap.fill(mensagem, width=40))

Para representar objetos grandes, reprlib encurta listas, dicionários e textos extensos. Ao investigar uma falha, você quer conhecer o formato do dado sem despejar milhares de caracteres no log.

difflib compara sequências e mostra diferenças entre duas versões de um arquivo ou texto. Não substitui controle de versão, mas resolve a pergunta pontual: quais linhas mudaram?

Arquivos e configurações

pathlib é uma boa porta de entrada para caminhos. Em vez de juntar strings com barras diferentes para cada sistema, você trabalha com objetos Path e expressa a intenção diretamente.

from pathlib import Path
pasta = Path("relatorios")
pasta.mkdir(exist_ok=True)
arquivo = pasta / "resumo.txt"
arquivo.write_text("Processado com sucesso
", encoding="utf-8")

Caminhos recebidos de formulário ou arquivo externo precisam de validação. A biblioteca oferece as operações, mas não decide se aquela ação é permitida.

Para configurações simples, configparser lê INI e tomllib lê TOML. Guardar parâmetros fora do código evita editar o programa a cada mudança de diretório ou limite.

Datas e dados estruturados

datetime representa datas, horários e intervalos. Use fusos quando o sistema conversa com pessoas ou serviços em regiões diferentes. Um horário sem contexto pode parecer correto no computador de quem o criou e estar errado para quem o lê depois.

json transforma dicionários e listas em texto JSON e faz o caminho inverso. Ler o formato não significa confiar nele: valide campos, tipos e limites antes de usar valores recebidos de fora.

Para dinheiro, decimal é mais apropriado do que o ponto flutuante comum. Para identificadores e sorteios que exigem aleatoriedade forte, use secrets, não random. A escolha do módulo importa porque cada um foi criado para um tipo de problema.

Também vale conhecer collections. Counter conta ocorrências sem um dicionário feito à mão, enquanto defaultdict simplifica agrupamentos. itertools reúne ferramentas para combinações e sequências.

Ilustração oficial da documentação do Python sobre módulos da biblioteca padrão
Imagem: Python Software Foundation / Python Documentation.

Como escolher antes de procurar no PyPI

Descreva a tarefa em uma frase: preciso ler TOML, quebrar texto ou comparar versões. Depois procure o módulo na documentação e rode um exemplo mínimo. Só compare uma biblioteca externa se faltar uma função importante.

Isso não é uma regra contra pacotes. Bibliotecas externas fazem sentido quando entregam recursos necessários, têm manutenção confiável e cabem no risco do projeto. O problema aparece quando uma dependência entra para resolver poucas linhas que já poderiam usar pathlib, json ou textwrap. Cada pacote traz decisões de atualização, licença, compatibilidade e segurança.

Um exercício útil é criar um script que leia um JSON, encontre uma lista de textos, quebre cada item em linhas de até 60 caracteres e grave um relatório em uma pasta. Use pathlib, json e textwrap. Depois teste arquivo inexistente, JSON inválido e item que não seja texto. O objetivo é perceber onde cada módulo termina e onde o seu código precisa decidir.

Teste o programa em uma pasta temporária, use codificação explícita e trate as exceções que fazem sentido para o leitor. Se ele só funciona porque um arquivo específico existe no seu computador, há uma suposição escondida no código.

Há uma diferença entre conhecer o nome de um módulo e saber quando usá-lo. os ainda aparece em muitos exemplos, mas pathlib costuma deixar o código de caminhos mais claro. urllib.parse ajuda a separar uma URL em partes, enquanto urllib.request cobre casos simples de acesso a recursos. Para aplicações maiores, um cliente externo pode oferecer mais conforto, mas a decisão deve vir depois de entender a necessidade.

Outro grupo importante é o de linha de comando. argparse cria comandos com opções, valores obrigatórios e mensagens de ajuda. Assim, um script deixa de depender de alterações manuais no arquivo e pode ser usado por outra pessoa. logging organiza mensagens de diagnóstico por nível, em vez de misturar tudo com print(). É uma mudança pequena que facilita descobrir o que ocorreu depois que o programa termina.

Para criar testes básicos, unittest já vem com o Python. Você não precisa montar uma estrutura complexa para testar uma função que transforma texto, calcula um valor ou escolhe um arquivo. Um teste curto registra o comportamento esperado e avisa quando uma alteração quebrou algo. Em projetos pequenos, essa memória automática vale mais do que confiar que alguém vai repetir o teste na mão.

Comece por uma tarefa que está incomodando agora. Se o script está cheio de concatenações de caminho, experimente pathlib. Se os logs ficaram ilegíveis, veja logging e reprlib. Se a configuração está espalhada por constantes, avalie configparser ou tomllib. Aprender um módulo em cima de um problema real costuma ser mais eficiente do que tentar decorar a biblioteca inteira.

Ilustração oficial da documentação do Python sobre módulos da biblioteca padrão
Imagem: Python Software Foundation / Python Documentation.

A biblioteca padrão não elimina ferramentas externas, mas muda o ponto de partida. Antes de procurar mais uma solução pronta, confira o que o Python já sabe fazer. Esse minuto de pesquisa pode evitar uma instalação, um conflito de versões e código que ninguém precisava manter.

Fonte: Python Documentation, tour pela biblioteca padrão.

Este guia será revisado em até 90 dias para acompanhar mudanças na documentação e nas versões suportadas do Python.

Resumo da semana

Leve contexto para a caixa de entrada.

Uma edição semanal, sem barulho e sem promessas vazias.