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
- Instale as Bibliotecas: Use
pip install PyPDF2
para o script de PDFs. Outras bibliotecas são nativas. - Teste com Segurança: Execute os scripts em pastas de teste para evitar problemas.
- Aprofunde-se: Para dominar Python, o Python de A a Z, Guia dos Primeiros Passos é um recurso completo para iniciantes. Quer ir além? A Formação de Análise de Dados com Python, ensina a aplicar automação em projetos de dados.
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.