Contextualização
A automação de tarefas é o uso de tecnologia para eliminar a intervenção humana em uma série de tarefas de processo, que são então executadas segundo regras definidas, permitindo que os sistemas operem sem interação humana constante. Você sabia que, de acordo com The Forrester Wave™: Robotic Process Automation, Q2 2018, a automação de tarefas vai se tornar a forma normativa de trabalho e, até 2021, haverá um aumento drástico na força de trabalho digital?
Python é uma das linguagens de programação mais populares por sua simplicidade e poder, sendo altamente utilizada na automação de tarefas por profissionais de TI. Nesse contexto, dominar Python para automação é uma habilidade extremamente válida que vai permitir a você não apenas ampliar seus horizontes como programador, mas também resolver problemas complexos em várias áreas de maneira eficiente e eficaz.
Introdução
Automação com Python envolve o uso de scripts Python para automatizar as tarefas. A biblioteca padrão do Python contém muitos módulos que suportam a realização de uma ampla gama de tarefas. Por exemplo, os e sys para tarefas do sistema operacional, como manipulação de arquivos e diretórios; requests e json para lidar com APIs; pandas para manipular dados em arquivos CSV e Excel; smtplib para enviar emails automaticamente e muitas outras.
A automação não se restringe apenas a desenvolver um script para automatizar uma única tarefa. É necessário também garantir que este script possa ser executado em diferentes momentos, por isso, precisamos aprender sobre o agendamento de tarefas usando o módulo sched do Python ou serviços como o CRON em sistemas Unix. Além disso, é essencial saber como testar e depurar nossos scripts de automação para garantir que eles funcionem corretamente.
Este projeto tem como objetivo apresentar uma introdução ao mundo da automação de tarefas usando Python. Ao longo desta jornada, vamos aprender como usar várias bibliotecas Python e APIs para automatizar diferentes tipos de tarefas, desde manipulação básica de arquivos até o envio de emails e agendamento de tarefas.
As seguintes leituras são recomendadas para um aprofundamento no tema:
- [Automate the Boring Stuff with Python]
- [Python Crash Course]
- [Learn Python the Hard Way]
Divirta-se, explore, aventure-se e descubra o poder do Python para a automação de tarefas!
Atividade Prática
AutomaFest: Festival de Desenvolvimento de Automações em Python
Objetivo do Projeto:
O objetivo deste projeto é que os alunos trabalhem em grupos de 3 a 5 pessoas para desenvolver uma série de mini-projetos envolvendo a automação de diferentes tarefas utilizando Python. Cada mini-projeto deve abordar um tópico diferente, permitindo que os alunos ganhem uma compreensão profunda e experiência prática com diferentes bibliotecas e aplicações de Python para automação.
Materiais Necessários:
- Computador com Python instalado.
- Acesso à internet.
- Contas de email para testar a automação do envio de emails.
- Contas em qualquer API que queiram utilizar.
Descrição Detalhada do Projeto:
Os grupos deverão desenvolver um total de 4 mini-projetos abordando os seguintes tópicos:
- Automação de tarefas de Sistema Operacional;
- Automação de tarefas na Web;
- Automação de tarefas no Excel/CSV;
- Automação de envio de emails.
Passo a Passo Detalhado para a Realização da Atividade:
-
Organize-se em grupos de 3 a 5 alunos.
-
Para cada um dos 4 tópicos de mini-projeto citados, seu grupo deverá:
2.1. Pesquisar e escolher uma tarefa que possa ser automatizada na categoria do tópico.
2.2. Planejar e implementar a automação da tarefa escolhida em Python.
2.3. Depurar e testar o script de automação.
2.4. Preparar uma breve apresentação sobre o que sua automação faz e como ela funciona.
-
Cada grupo deverá entregar:
- Códigos de todos os mini-projetos.
- Testes demonstrando que as automações estão funcionando.
- Apresentações sobre cada mini-projeto.
-
Além disso, para a etapa final do projeto, cada grupo deve redigir um relatório detalhado, seguindo a seguinte estrutura:
4.1. Introdução: Nesta seção, você deve contextualizar o tema dos mini-projetos, sua relevância e aplicação no mundo real, bem como a motivação do grupo para os projetos de automação selecionados.
4.2. Desenvolvimento: Para cada mini-projeto, detalhe a teoria por trás da tarefa que você automatizou, explique a atividade em detalhes, descreva a metodologia utilizada e apresente e discuta os resultados que você obteve. Você também deve incluir exemplos de quaisquer problemas que encontrou durante o desenvolvimento e como solucionou-os.
4.3. Conclusão: Conclua o seu relatório retomando os pontos principais, explicando os aprendizados obtidos e as conclusões retiradas sobre cada projeto. Explore como estas habilidades podem ser aplicadas em outros contextos.
4.4. Bibliografia: Indique as fontes em que se baseou para trabalhar nos mini-projetos.
Este projeto deve ser concluído no período de um mês. Boa sorte!