Desenvolvimento

Automatize Tarefas com Python: 5 Scripts Práticos

Python é uma ferramenta poderosa para transformar tarefas repetitivas em processos automáticos, economizando tempo e aumentando a produtividade. Inspirado pelo conceito de automação apresentado no livro Trabalhe 4 Horas por Semana, este artigo traz cinco scripts práticos em Python para automatizar tarefas do dia a dia. De organização de arquivos a envio de e-mails, esses exemplos são ideais para iniciantes e desenvolvedores experientes. Quer saber mais sobre automação? Confira o artigo Review: “Trabalhe 4 Horas por Semana” – Leituras da Semana para insights sobre como otimizar sua vida com automação!

Por que Automatizar Tarefas com Python?

Automatizar tarefas repetitivas reduz erros e libera tempo para o que realmente importa. Com bibliotecas como os, shutil, e smtplib, Python permite criar soluções práticas e eficientes. Se você está começando, o livro Python de A a Z, Guia dos Primeiros Passos é uma excelente introdução para dominar a linguagem e criar seus próprios scripts.

Organizando Arquivos por Extensão utilizando Python

Manter pastas organizadas pode ser desafiador. Este script organiza arquivos em subpastas com base em suas extensões (ex.: .jpg, .pdf).

import os
import shutil

def organizar_arquivos(diretorio):
    if not os.path.exists(diretorio):
        print("Diretório não encontrado!")
        return
    for arquivo in os.listdir(diretorio):
        if os.path.isfile(os.path.join(diretorio, arquivo)):
            extensao = os.path.splitext(arquivo)[1].lower()
            if extensao:
                pasta_destino = os.path.join(diretorio, extensao[1:])
                os.makedirs(pasta_destino, exist_ok=True)
                shutil.move(
                    os.path.join(diretorio, arquivo),
                    os.path.join(pasta_destino, arquivo)
                )
                print(f"Movido: {arquivo} -> {pasta_destino}")

# Exemplo de uso
organizar_arquivos("C:/Users/SeuUsuario/Downloads")

Como funciona: Usa os para listar arquivos e shutil para movê-los, criando pastas por extensão.

Renomeando Arquivos em Lote com Python

Renomear arquivos manualmente é trabalhoso. Este script adiciona prefixos ou numeração sequencial. Um exemplo é o script abaixo, que uso muito com minhas fotos, antes de subi-las em meu portfólio:

import os

def renomear_arquivos(diretorio, prefixo="arquivo_"):
    if not os.path.exists(diretorio):
        print("Diretório não encontrado!")
        return
    contador = 1
    for arquivo in os.listdir(diretorio):
        if os.path.isfile(os.path.join(diretorio, arquivo)):
            extensao = os.path.splitext(arquivo)[1]
            novo_nome = f"{prefixo}{contador}{extensao}"
            os.rename(
                os.path.join(diretorio, arquivo),
                os.path.join(diretorio, novo_nome)
            )
            print(f"Renomeado: {arquivo} -> {novo_nome}")
            contador += 1

# Exemplo de uso
renomear_arquivos("C:/Users/SeuUsuario/Documentos/Fotos", "foto_")

Como funciona: Adiciona um prefixo (ex.: foto_) e números sequenciais aos arquivos.

Enviando E-mails Automáticos usando Python

Automatizar e-mails é perfeito para lembretes ou relatórios. Este script usa smtplib para enviar e-mails via Gmail.

import smtplib
from email.mime.text import MIMEText

def enviar_email(destinatario, assunto, corpo):
    remetente = "[email protected]"
    senha = "sua_senha_de_app"
    msg = MIMEText(corpo)
    msg["Subject"] = assunto
    msg["From"] = remetente
    msg["To"] = destinatario
    with smtplib.SMTP_SSL("smtp.gmail.com", 465) as servidor:
        servidor.login(remetente, senha)
        servidor.sendmail(remetente, destinatario, msg.as_string())
        print(f"E-mail enviado para {destinatario}")

# Exemplo de uso
enviar_email("[email protected]", "Relatório Diário", "Aqui está o relatório de hoje!")

Como funciona: Conecta ao servidor SMTP do Gmail para enviar e-mails. Use senhas de aplicativo para segurança.

Extraindo Texto de PDFs usando Python

Extrair texto de PDFs é útil para relatórios ou documentos. Este script usa PyPDF2.

import PyPDF2

def extrair_texto_pdf(caminho_pdf, arquivo_saida):
    with open(caminho_pdf, "rb") as arquivo:
        leitor = PyPDF2.PdfReader(arquivo)
        texto = ""
        for pagina in leitor.pages:
            texto += pagina.extract_text() + "\n"
    with open(arquivo_saida, "w", encoding="utf-8") as saida:
        saida.write(texto)
    print(f"Texto extraído e salvo em {arquivo_saida}")

# Exemplo de uso
extrair_texto_pdf("relatorio.pdf", "texto_extraido.txt")

Como funciona: Extrai texto de PDFs e salva em um arquivo .txt.

Monitorando Alterações em uma Pasta com Python

Monitorar pastas é útil para detectar novos arquivos ou mudanças em projetos.

import os
import time

def monitorar_pasta(diretorio, intervalo=60):
    arquivos_antigos = set(os.listdir(diretorio))
    while True:
        time.sleep(intervalo)
        arquivos_novos = set(os.listdir(diretorio))
        adicionados = arquivos_novos - arquivos_antigos
        removidos = arquivos_antigos - arquivos_novos
        if adicionados:
            print(f"Arquivos adicionados: {adicionados}")
        if removidos:
            print(f"Arquivos removidos: {removidos}")
        arquivos_antigos = arquivos_novos

# Exemplo de uso
monitorar_pasta("C:/Users/SeuUsuario/Downloads", 60)

Como funciona: Verifica alterações em uma pasta a cada 60 segundos.

Como Começar a Usar Esses Scripts Python

Conclusão

Automatizar tarefas com Python é uma habilidade valiosa, como destacado em Trabalhe 4 Horas por Semana. Esses cinco scripts — organização de arquivos, renomeação, envio de e-mails, extração de PDFs e monitoramento de pastas — são um ponto de partida. Para mais ideias sobre automação, leia nosso artigo Review: “Trabalhe 4 Horas por Semana” – Leituras da Semana e inspire-se!

E você, qual tarefa você quer automatizar? Deixe um comentário e compartilhe este artigo com outros programadores. Inscreva-se no blog para mais tutoriais e novidades!


Descubra mais sobre Alexsandro Felix

Assine para receber nossas notícias mais recentes por e-mail.

Felix

Apaixonado por fotografia, Software Livre, OpenSource, quadrinhos, livros, filmes, séries e claro, por Python.

Verified by MonsterInsights