$ python modulo_1.py

Setup e primeiros scripts

Python instalado, ambiente virtual configurado e o primeiro script útil rodando em 15 minutos. Base sólida para todas as automações que vêm a seguir.

O que você vai aprender

1. Instalação do Python 3

Use sempre a versão 3.11 ou superior. Evite o Python 2 e instalações “quebradas” do sistema.

Linux (Ubuntu/Debian)

terminal
sudo apt update
sudo apt install python3 python3-venv python3-pip -y
python3 --version

Windows

Baixe o instalador oficial em python.org. Marque a opção “Add python.exe to PATH” durante a instalação. Depois abra o PowerShell ou CMD e confirme:

python --version
pip --version

macOS

brew install python
python3 --version
DICA DE PRODUÇÃO Em servidores Linux nunca use o Python do sistema para projetos. Sempre crie um venv isolado. Isso evita conflitos de pacotes e quebras do SO.

2. Ambiente virtual (venv)

O venv isola as dependências do projeto. É obrigatório em qualquer automação séria.

criar e ativar
# criar
python3 -m venv .venv

# ativar no Linux/macOS
source .venv/bin/activate

# ativar no Windows (PowerShell)
.venv\Scripts\Activate.ps1

# verificar
which python   # deve apontar para .venv
pip list

Para desativar: deactivate.

3. Dependências e requirements.txt

Sempre fixe as versões. Nunca use pip install pacote solto em produção.

# instalar e registrar
pip install requests beautifulsoup4
pip freeze > requirements.txt

# em outra máquina ou CI
pip install -r requirements.txt
BOA PRÁTICA Coloque o .venv no .gitignore. Nunca faça commit da pasta do ambiente virtual.

4. pathlib — o jeito moderno de lidar com arquivos

Esqueça os.path.join. Use pathlib.Path.

from pathlib import Path

pasta = Path("dados")
pasta.mkdir(exist_ok=True)

arquivo = pasta / "relatorio.txt"
arquivo.write_text("conteúdo inicial\n", encoding="utf-8")

print(arquivo.exists())
print(arquivo.read_text(encoding="utf-8"))
print(list(pasta.glob("*.txt")))

5. Script completo: organizar fotos e documentos

Este script renomeia e organiza arquivos por extensão e data. Útil em pastas bagunçadas de downloads ou backups.

organiza_arquivos.py
#!/usr/bin/env python3
"""Organiza arquivos de uma pasta por extensão e data de modificação."""
from pathlib import Path
from datetime import datetime
import shutil

ORIGEM = Path("entrada")
DESTINO = Path("organizado")

def organizar():
    ORIGEM.mkdir(exist_ok=True)
    DESTINO.mkdir(exist_ok=True)

    contador = {}
    for arq in ORIGEM.rglob("*"):
        if not arq.is_file():
            continue
        ext = arq.suffix.lower() or ".sem_ext"
        pasta_ext = DESTINO / ext[1:]  # remove o ponto
        pasta_ext.mkdir(exist_ok=True)

        # nome com data
        mtime = datetime.fromtimestamp(arq.stat().st_mtime)
        novo_nome = f"{mtime:%Y%m%d_%H%M%S}_{arq.name}"
        destino = pasta_ext / novo_nome

        # evita sobrescrever
        i = 1
        while destino.exists():
            destino = pasta_ext / f"{mtime:%Y%m%d_%H%M%S}_{i}_{arq.name}"
            i += 1

        shutil.copy2(arq, destino)  # copy2 preserva metadados
        contador[ext] = contador.get(ext, 0) + 1
        print(f"{arq.name} → {destino}")

    print("\nResumo:")
    for ext, qtd in sorted(contador.items()):
        print(f"  {ext}: {qtd} arquivo(s)")

if __name__ == "__main__":
    organizar()
EXERCÍCIO 1. Crie uma pasta entrada com 20–30 arquivos misturados (jpg, pdf, txt, csv).
2. Rode o script.
3. Altere para mover em vez de copiar (use shutil.move).
4. Adicione um log em arquivo organizacao.log com timestamp de cada operação.

6. Erros comuns e como evitar

ATENÇÃO Nunca rode scripts de organização em pastas do sistema (/, /home, C:\Windows). Sempre teste em uma pasta de teste primeiro.

Sumário do curso

Precisa de algo assim, sob medida pro seu negócio?

agendar diagnóstico gratuito →