Python: Biblioteca Padrão: Básico (Pt.1)
Última atualização: 2026-09-22
Uma das maiores características do Python é "Batteries Included" — um conjunto completo de bibliotecas padrão vem com cada instalação do Python. Esta lição cobre quatro dos módulos mais comumente usados:
random,time,syseos. Mesmo aprendendo apenas as funções mais populares de cada um, você resolverá muitos problemas do mundo real.
1. random — Números Aleatórios
import random
# Float aleatório [0, 1)
print(random.random()) # 0.3745...
# Inteiro aleatório [a, b] (inclusive)
print(random.randint(1, 10)) # Inteiro aleatório entre 1 e 10
# Escolha aleatória
fruits = ["maçã", "banana", "laranja", "uva"]
print(random.choice(fruits)) # Escolhe um aleatoriamente
# Amostra aleatória (sem reposição)
print(random.sample(fruits, 2)) # Escolhe 2 aleatoriamente
# Embaralhar ordem
cards = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
random.shuffle(cards)
print(cards) # Ordem é embaralhada
▶ Exemplo: Programa de Sorteio (Dificuldade ⭐)
▶ ExperimenteSaída:
# Executed successfully
2. time — Manipulação de Tempo
import time
# Timestamp atual (segundos desde 1970-01-01)
print(time.time()) # 1758588800.123
# Pausar execução (segundos)
print("Início")
time.sleep(1) # Pausa por 1 segundo
print("1 segundo depois")
# Formatar hora atual
print(time.strftime("%Y-%m-%d %H:%M:%S")) # 2026-06-23 16:00:00
▶ Exemplo: Temporizador (Dificuldade ⭐)
▶ ExperimenteSaída:
\r⏰ Tempo esgotado!
3. sys — Interação com o Sistema
import sys
# Versão do Python
print(sys.version) # 3.13.0 ...
# Argumentos da linha de comando (ao executar python script.py a b c)
print(sys.argv) # ['script.py', 'a', 'b', 'c']
# Sair do programa
# sys.exit(0) # Saída normal
# Entrada padrão
# line = sys.stdin.readline() # Lê uma linha de entrada
▶ Exemplo: Calculadora de Linha de Comando (Dificuldade ⭐⭐)
▶ ExperimenteSaída:
Uso: python calculator.py num1 operador num2
Exemplo: python calculator.py 3 + 5
Erro: não é possível dividir por zero
4. os — Sistema Operacional
import os
# Diretório de trabalho atual
print(os.getcwd()) # D:\projeto
# Mudar diretório
# os.chdir("/tmp")
# Listar conteúdo do diretório
for item in os.listdir("."):
print(item)
# Criar diretório
# os.mkdir("nova_pasta")
# Verificar caminhos
print(os.path.exists("teste.txt")) # True
print(os.path.isfile("teste.txt")) # True
print(os.path.isdir("data")) # True
# Juntar caminhos
path = os.path.join("data", "files", "teste.txt")
print(path) # data/files/teste.txt
▶ Exemplo: Renomeação em Lote de Arquivos (Dificuldade ⭐⭐)
▶ ExperimenteSaída:
Exemplo de renomeação em lote (apenas exibição, não executado):
Iterar todos os arquivos .txt, renomear para formato prefixo_001.txt
5. Casos de Uso Comuns
- random: Sorteio, CAPTCHA, geração de dados de teste aleatórios, eventos aleatórios de jogo.
- time: Execução atrasada, temporização de desempenho, temporizadores, tarefas agendadas.
- sys: Ler argumentos da linha de comando, controlar saída do programa, obter informações do ambiente Python.
- os: Gerenciamento de arquivos, operações de diretório, manipulação de caminhos, renomeação em lote.
❓ Perguntas Frequentes
random é adequado para números aleatórios criptográficos?random usa um PRNG (Gerador de Números Pseudo-Aleatórios), que é previsível. Para números aleatórios criptograficamente seguros (ex.: gerar senhas, tokens), use o módulo secrets.time.sleep() bloqueia o programa inteiro. Como faço um atraso não bloqueante?sleep() de fato bloqueia a thread atual. Para atrasos não bloqueantes, use multi-threading ou frameworks assíncronos como asyncio. Para cenários simples, sleep() é suficiente.os ou pathlib?pathlib (mais orientado a objetos, mais intuitivo), mas os é de nível mais baixo e mais abrangente. Use pathlib para novos projetos; use os para chamadas de sistema de baixo nível.📖 Resumo
random:randint(),choice(),sample(),shuffle()— seleção e geração aleatóriastime:time()timestamp,sleep()pausa,strftime()formataçãosys:argvargumentos da linha de comando,exit()saída do programaos: Verificações de caminho de arquivo, operações de diretório, renomeação de arquivos- Estes quatro módulos são o "pacote inicial" da biblioteca padrão do Python, usados com frequência no desenvolvimento diário
📝 Exercícios
-
Básico (Dificuldade ⭐): Escreva um programa que gere 10 números inteiros aleatórios entre 1 e 100, exiba-os e sua média.
-
Intermediário (Dificuldade ⭐⭐): Escreva uma função geradora de senha
generate_password(length=8)que cria senhas aleatórias contendo maiúsculas, minúsculas e dígitos. Dica: Usestring.ascii_letters + string.digitscomo pool de caracteres; userandom.choice()para escolher caracteres. -
Desafio (Dificuldade ⭐⭐⭐): Escreva uma "ferramenta de estatísticas de pasta." Dado um caminho de diretório (passado via
sys.argv), conte o número de arquivos e o tamanho total para cada tipo de arquivo (extensão). Dica: Useos.listdir()para iterar,os.path.splitext()para extensão,os.path.getsize()para tamanho do arquivo.