Como Automatizar Tarefas com Python: Guia Completo para Iniciantes

Automatizar tarefas com Python é uma das formas mais inteligentes de economizar tempo e tornar seu dia a dia mais produtivo.
Com poucas linhas de código, você pode criar robôs que organizam arquivos, enviam relatórios, coletam dados da internet ou até preenchem formulários automaticamente.

Neste guia, você vai aprender passo a passo o que é automação, como começar e verá exemplos práticos de código prontos para testar no seu computador.

🚀 O que é automação com Python?

Automação é o processo de fazer o computador realizar tarefas repetitivas de forma automática, sem precisar da sua intervenção manual.
Com Python, isso é muito simples, pois a linguagem é conhecida por sua facilidade de leitura e pela grande quantidade de bibliotecas disponíveis para diferentes tipos de tarefas.

Alguns exemplos de automações que você pode criar:

  • Enviar relatórios diários por e-mail.
  • Baixar arquivos de sites ou APIs.
  • Organizar planilhas ou pastas do computador.
  • Coletar informações de sites (web scraping).
  • Executar rotinas de backup.
  • Automatizar o preenchimento de formulários na web.

🧠 Antes de começar

Para criar suas automações, é importante conhecer algumas bibliotecas básicas do Python:

BibliotecaFunção Principal
os, shutil, pathlibManipular arquivos e pastas
schedule, datetime, timeAgendar e controlar tarefas por tempo
subprocessExecutar comandos do sistema
selenium, pyautoguiAutomatizar ações no navegador ou na tela
pandas, openpyxlManipular dados e planilhas

⚙️ Exemplos práticos de automação

A seguir, você verá alguns exemplos reais de automação em Python que pode adaptar para o seu dia a dia.


🕒 1. Executar uma tarefa automaticamente todos os dias

O código abaixo usa a biblioteca schedule para executar uma função automaticamente no horário definido.

import schedule
import time

def enviar_relatorio():
    print("Enviando relatório automático...")

# Executa todos os dias às 9h
schedule.every().day.at("09:00").do(enviar_relatorio)

while True:
    schedule.run_pending()
    time.sleep(1)

🧩 Como funciona:
O script verifica a cada segundo se chegou a hora de executar a tarefa.
Você pode trocar o horário e a função conforme a sua necessidade.


🗂️ 2. Organizar arquivos em pastas automaticamente

Sabe aquela bagunça na pasta “Downloads”?
Esse script separa os arquivos automaticamente por tipo de extensão.

import os
import shutil

pasta = "Downloads"
for arquivo in os.listdir(pasta):
    if arquivo.endswith(".pdf"):
        shutil.move(os.path.join(pasta, arquivo), os.path.join(pasta, "PDFs"))
    elif arquivo.endswith(".jpg"):
        shutil.move(os.path.join(pasta, arquivo), os.path.join(pasta, "Imagens"))

💡 Dica:
Crie as pastas “PDFs” e “Imagens” antes de rodar o código.
Você pode incluir outras extensões como .xlsx, .docx, .mp3, etc.


📧 3. Enviar e-mails automáticos com Python

Com o módulo smtplib, é possível enviar e-mails automáticos, como relatórios ou notificações.

import smtplib
from email.mime.text import MIMEText

msg = MIMEText("Relatório diário anexado.")
msg["Subject"] = "Relatório Automático"
msg["From"] = "seu_email@gmail.com"
msg["To"] = "destinatario@gmail.com"

with smtplib.SMTP_SSL("smtp.gmail.com", 465) as smtp:
    smtp.login("seu_email@gmail.com", "SENHA")
    smtp.send_message(msg)

print("E-mail enviado com sucesso!")

⚠️ Atenção:

  • Ative o acesso de “Aplicativos menos seguros” no Gmail (ou use uma senha de app).
  • Substitua "SENHA" por sua senha ou variável de ambiente.

🌐 4. Web Scraping: coletando dados automaticamente

Com as bibliotecas requests e BeautifulSoup, você pode extrair informações de sites de forma automática.

import requests
from bs4 import BeautifulSoup

url = "https://www.anp.gov.br/precos"
html = requests.get(url).text
soup = BeautifulSoup(html, "html.parser")

for dado in soup.select("table tr"):
    print(dado.text)

💡 Uso comum: coletar preços, cotações, notícias ou dados públicos.


🤖 5. Automatizar ações no navegador (login, formulários, cliques)

O selenium permite controlar um navegador como se fosse um humano.

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://example.com/login")

driver.find_element("id", "usuario").send_keys("meu_usuario")
driver.find_element("id", "senha").send_keys("minha_senha")
driver.find_element("id", "login-button").click()

🧠 Aplicação real:

  • Preencher cadastros automaticamente.
  • Fazer login em sites.
  • Baixar relatórios do navegador.

🧩 Dicas extras para suas automações

✅ Use Agendador de Tarefas (Windows) ou cron (Linux/macOS) para rodar o script automaticamente.
✅ Registre logs com o módulo logging para identificar erros.
✅ Crie scripts modulares para facilitar manutenção.
✅ Armazene senhas e tokens em variáveis de ambiente, nunca no código.
✅ Combine com Streamlit para criar um painel de controle das automações (visual e interativo).

🧠 Conclusão

Automatizar tarefas com Python é um passo fundamental para qualquer profissional de tecnologia — seja analista de dados, desenvolvedor ou curioso por eficiência.
Com poucos comandos, você pode criar robôs personalizados que economizam horas de trabalho e reduzem erros manuais.

Comece com um script simples, teste localmente e vá evoluindo.
Com o tempo, você terá um sistema de automação pessoal rodando 24h por dia, cuidando de tudo para você. 🦾