5.3 5.3 - Automação.
5.3.1 5.3.1 - Desenvolvimento de scripts de automação em Python.
O Python é uma linguagem de programação poderosa e versátil que pode ser usada para automatizar diversas tarefas do dia a dia, como pesquisa no sistema de arquivos, acesso à internet, análise de tipos de arquivo, entre outras. Neste texto, vamos apresentar alguns exemplos práticos de como desenvolver scripts de automação em Python usando algumas bibliotecas úteis.

Para começar, vamos ver como
instalar o Python e
configurar o ambiente de desenvolvimento.

Uma forma simples de instalar o Python é por meio da Microsoft Store, que já cuida da definição das configurações de PATH e das atualizações automáticas.

Basta abrir a loja, pesquisar por Python e escolher a versão desejada (recomendamos a mais recente). Depois, vamos instalar o Visual Studio Code, um editor de código leve e poderoso que suporta várias linguagens, inclusive o Python. Para isso, basta acessar o site do VS Code e baixar o instalador para Windows.

Em seguida, vamos instalar a extensão do Microsoft Python no VS Code, que fornece recursos como depuração, linting, formatação, refatoração, etc.

Para isso, basta abrir o VS Code, clicar no ícone de extensões na barra lateral esquerda e pesquisar por Python.

Por fim, vamos abrir o terminal integrado do PowerShell no VS Code, que nos permite executar comandos do sistema operacional e do Python diretamente no editor.

Para isso, basta clicar no menu Terminal e selecionar Nova Instância do Terminal.

Agora que temos o ambiente configurado, vamos ver alguns exemplos de scripts de automação em Python.

O primeiro exemplo é um script que exibe a estrutura do diretório do sistema de arquivos usando a biblioteca OS.

Essa biblioteca permite que o Python interaja com o sistema operacional e seus recursos.

O código do script é o seguinte:

import os

def exibir_diretorio(caminho):
    # imprime o nome do diretório atual
    print(caminho)
    # percorre os arquivos e subdiretórios do diretório atual
    for nome in os.listdir(caminho):
        # obtém o caminho completo do arquivo ou subdiretório
        caminho_completo = os.path.join(caminho, nome)
        # verifica se é um arquivo ou um subdiretório
        if os.path.isfile(caminho_completo):
            # imprime o nome do arquivo com um traço na frente
            print(f"- {nome}")
        elif os.path.isdir(caminho_completo):
            # imprime uma linha em branco para separar os subdiretórios
            print()
            # chama a função recursivamente para exibir o subdiretório
            exibir_diretorio(caminho_completo)

# chama a função para exibir o diretório atual
exibir_diretorio(os.getcwd())

Para executar esse script, basta salvar o código em um arquivo chamado exibir_diretorio.py e rodar o comando python exibir_diretorio.py no terminal integrado do PowerShell no VS Code. O resultado será algo assim:

C:\Users\usuario\Documents\Python
- exemplo1.py
- exemplo2.py

C:\Users\usuario\Documents\Python\dados
- clientes.csv
- produtos.csv

C:\Users\usuario\Documents\Python\imagens
- logo.png
- foto.jpg

O segundo exemplo é um script que modifica todos os arquivos de um diretório usando a biblioteca fileinput. Essa biblioteca permite que o Python leia e escreva arquivos em modo in-place, ou seja, sem criar arquivos temporários ou intermediários. O código do script é o seguinte:

import fileinput

def modificar_arquivos(caminho):
    # percorre os arquivos e subdiretórios do diretório atual
    for nome in os.listdir(caminho):
        # obtém o caminho completo do arquivo ou subdiretório
        caminho_completo = os.path.join(caminho, nome)
        # verifica se é um arquivo
        if os.path.isfile(caminho_completo):
            # abre o arquivo em modo in-place
            with fileinput.FileInput(caminho_completo, inplace=True) as arquivo:
                # percorre as linhas do arquivo
                for linha in arquivo:
                    # substitui a palavra "Python" por "PYTHON"
                    nova_linha = linha.replace("Python", "PYTHON")
                    # imprime a nova linha no arquivo (sem quebra de linha)
                    print(nova_linha, end="")
        # verifica se é um subdiretório
        elif os.path.isdir(caminho_completo):
            # chama a função recursivamente para modificar o subdiretório
            modificar_arquivos(caminho_completo)

# chama a função para modificar o diretório atual
modificar_arquivos(os.getcwd())

Para executar esse script, basta salvar o código em um arquivo chamado modificar_arquivos.py e rodar o comando python modificar_arquivos.py no terminal integrado do PowerShell no VS Code. O resultado será que todos os arquivos do diretório atual e seus subdiretórios terão a palavra "Python" substituída por "PYTHON".

Neste texto, mostramos alguns exemplos práticos de como desenvolver scripts de automação em Python usando algumas bibliotecas úteis. Esperamos que este texto tenha sido útil para você aprender mais sobre essa linguagem de programação poderosa e versátil. Para saber mais sobre Python e automação, recomendamos os seguintes recursos:

- Uso de Python para scripts e automação | Microsoft Learn
- Como Automatizar Tarefas com Python - DevMedia
- Automatização de Infraestrutura – DevOps e Python - Blog 4Linux
- 15 Pacotes Python Para Automação - Data Science Academy
Perguntas
**Q: O que é automação em Python?**

R: Automação em Python é o uso da linguagem de programação Python para automatizar tarefas repetitivas em um sistema de software.

**Q: Quais são as bibliotecas Python mais comuns utilizadas para automação?**

R: As bibliotecas Python mais comuns utilizadas para automação incluem a biblioteca os, que fornece funções para trabalhar com arquivos e diretórios, e a biblioteca subprocess, que permite executar comandos do sistema operacional a partir de um script Python.

**Q: Como posso automatizar o envio de e-mails em Python?**

R: Você pode automatizar o envio de e-mails em Python usando a biblioteca smtplib. Essa biblioteca permite conectar-se a um servidor de e-mail, autenticar-se e enviar mensagens de e-mail programaticamente.

**Q: É possível automatizar a interação com uma página web usando Python?**

R: Sim, é possível automatizar a interação com uma página web usando Python. A biblioteca Selenium é uma das mais populares para esse propósito. Ela permite criar scripts em Python que podem abrir um navegador, navegar até uma página web, preencher formulários, clicar em botões e extrair informações da página.

**Q: Como posso automatizar a execução de tarefas agendadas em Python?**

R: Você pode automatizar a execução de tarefas agendadas em Python usando a biblioteca schedule. Essa biblioteca permite definir tarefas que serão executadas em intervalos regulares ou em horários específicos. Você também pode usar a biblioteca datetime para trabalhar com datas e horários em seus scripts de automação.

-------------------------------------------------------------------------------------





O que é automação em Python?
Automação em Python é o uso da linguagem de programação Python para automatizar tarefas repetitivas em um sistema de software.





Quais são as bibliotecas Python mais comuns utilizadas para automação?
As bibliotecas Python mais comuns utilizadas para automação incluem a biblioteca os, que fornece funções para trabalhar com arquivos e diretórios, e a biblioteca subprocess, que permite executar comandos do sistema operacional a partir de um script Python.
Como posso automatizar o envio de e-mails em Python?
Você pode automatizar o envio de e-mails em Python usando a biblioteca smtplib. Essa biblioteca permite conectar-se a um servidor de e-mail, autenticar-se e enviar mensagens de e-mail programaticamente.
É possível automatizar a interação com uma página web usando Python?
Sim, é possível automatizar a interação com uma página web usando Python. A biblioteca Selenium é uma das mais populares para esse propósito. Ela permite criar scripts em Python que podem abrir um navegador, navegar até uma página web, preencher formulários, clicar em botões e extrair informações da página.
Como posso automatizar a execução de tarefas agendadas em Python?
Você pode automatizar a execução de tarefas agendadas em Python usando a biblioteca schedule. Essa biblioteca permite definir tarefas que serão executadas em intervalos regulares ou em horários específicos. Você também pode usar a biblioteca datetime para trabalhar com datas e horários em seus scripts de automação.

5.3.2 5.3.2 - Integração via API REST.
API REST: Conceitos e fundamentos

As APIs (Application Programming Interfaces) são interfaces de programação que possibilitam a comunicação entre diferentes sistemas e aplicações.
Elas permitem que desenvolvedores criem soluções integradas e automatizadas, tornando o processo de desenvolvimento mais eficiente e ágil.

Uma API REST (Representational State Transfer) é um tipo de API que utiliza o protocolo HTTP para transferência de dados.
Ela é baseada em recursos, que são identificados por URLs (Uniform Resource Locators), e utiliza os métodos HTTP (GET, POST, PUT, DELETE) para manipulação desses recursos.

A principal característica de uma API REST é a sua arquitetura, que é orientada a recursos e sem estado.
Isso significa que cada requisição é independente da anterior, não sendo necessário armazenar informações de sessão no servidor.
Além disso, a API é altamente escalável, permitindo que milhares de usuários acessem simultaneamente os recursos disponibilizados.

Para utilizar uma API REST, é necessário que o desenvolvedor conheça a sua documentação.
A documentação descreve os recursos disponíveis, os métodos HTTP permitidos e os parâmetros necessários para cada requisição.
Além disso, a documentação também apresenta exemplos de requisições e respostas, facilitando o entendimento e a utilização da API.

Uma das principais vantagens de utilizar uma API REST é a sua interoperabilidade.
Como ela utiliza o protocolo HTTP, é possível acessá-la por diferentes plataformas e linguagens de programação, tornando-a uma solução flexível e adaptável.
Além disso, a API REST é segura, pois utiliza mecanismos de autenticação e autorização para garantir que apenas usuários autorizados possam acessar os recursos disponibilizados.

Outra vantagem da utilização de uma API REST é a possibilidade de integração com outras APIs e serviços web.
Isso permite que os desenvolvedores criem soluções mais complexas e integradas, utilizando diferentes recursos disponíveis na web.

Para desenvolver uma API REST, é necessário seguir alguns passos básicos.
O primeiro passo é definir os recursos que serão disponibilizados pela API.
Em seguida, é necessário definir os métodos HTTP permitidos para cada recurso e os parâmetros necessários para cada requisição.
Depois disso, é necessário implementar a lógica de negócio da API e testá-la para garantir que ela esteja funcionando corretamente.
Por fim, é necessário documentar a API para que outros desenvolvedores possam utilizá-la.

Em resumo, a utilização de uma API REST pode trazer diversos benefícios para o processo de desenvolvimento de software.
Ela permite a criação de soluções integradas e automatizadas, tornando o processo mais eficiente e ágil.
Além disso, ela é flexível, segura e altamente escalável, permitindo que milhares de usuários acessem simultaneamente os recursos disponibilizados.
Se você deseja aprender mais sobre APIs REST, existem diversos materiais disponíveis na web que podem ajudá-lo nessa jornada.

A automação com integração via API REST é uma forma de conectar sistemas diferentes por meio de uma interface padronizada que usa o protocolo HTTP.
Com essa integração, é possível trocar dados entre aplicativos de forma rápida, segura e eficiente.

A automação com integração via API REST pode trazer diversos benefícios para as empresas, como:
  • Redução de custos operacionais, pois elimina a necessidade de desenvolver e manter interfaces personalizadas para cada sistema;
  • Aumento da produtividade, pois permite automatizar processos que dependem de interação entre sistemas;
  • Melhoria da qualidade, pois reduz erros humanos e inconsistências de dados;
  • Inovação, pois facilita a criação de novas funcionalidades e serviços que aproveitam os dados disponíveis nas APIs.

Para ilustrar como a automação com integração via API REST funciona na prática, vamos imaginar um exemplo de uma empresa que vende produtos pela internet.
Essa empresa usa um sistema de gestão de estoque, um sistema de emissão de notas fiscais e um sistema de envio de e-mails para os clientes.
-------------------------------------------------------------
Com a integração via API REST, esses sistemas podem se comunicar entre si e realizar as seguintes ações:
  • Quando um produto é vendido, o sistema de gestão de estoque envia uma solicitação HTTP para o sistema de emissão de notas fiscais, passando os dados da venda no formato JSON;
  • O sistema de emissão de notas fiscais recebe a solicitação, gera a nota fiscal eletrônica e envia uma resposta HTTP para o sistema de gestão de estoque, contendo o número e o link da nota fiscal;
  • O sistema de gestão de estoque atualiza o status da venda e envia uma solicitação HTTP para o sistema de envio de e-mails, passando os dados do cliente e da nota fiscal;
  • O sistema de envio de e-mails recebe a solicitação, cria uma mensagem personalizada e envia um e-mail para o cliente, confirmando a compra e informando o link da nota fiscal.

Com esse exemplo, podemos ver como a automação com integração via API REST torna o processo mais ágil, seguro e eficiente, sem a necessidade de intervenção manual ou interfaces específicas para cada sistema.

A automação com integração via API REST é uma tendência que vem ganhando cada vez mais espaço no mundo digital, pois permite integrar sistemas de forma simples e eficaz.
Com essa integração, as empresas podem otimizar seus processos, melhorar seus resultados e se adaptar às mudanças do mercado.
Perguntas
**Q: O que é uma API REST?**

R: Uma API REST é uma interface de programação de aplicações que utiliza o protocolo HTTP para permitir a comunicação entre sistemas de software.

**Q: Quais são as principais características de uma API REST?**

R: As principais características de uma API REST incluem a utilização do protocolo HTTP, a separação de recursos em URLs, a utilização de verbos HTTP para definir as operações que podem ser realizadas em um recurso e o uso de representações de recursos em diferentes formatos, como JSON ou XML.

**Q: Quais são os verbos HTTP mais comuns utilizados em uma API REST?**

R: Os verbos HTTP mais comuns utilizados em uma API REST são GET, POST, PUT e DELETE. O GET é utilizado para recuperar um recurso, o POST é utilizado para criar um novo recurso, o PUT é utilizado para atualizar um recurso existente e o DELETE é utilizado para excluir um recurso.

**Q: O que é uma URL em uma API REST?**

R: Uma URL em uma API REST é um identificador único para um recurso que pode ser acessado através da interface de programação. A URL é composta por um endereço base, que identifica o servidor onde a API está hospedada, e um caminho que identifica o recurso específico.

**Q: Quais são os formatos de representação de recursos mais comuns utilizados em uma API REST?**

R: Os formatos de representação de recursos mais comuns utilizados em uma API REST são JSON e XML. Esses formatos são utilizados para representar os dados do recurso em um formato legível por máquina que pode ser facilmente transmitido através da rede.

---------------------------------------------------------------------------------------------



O que é uma API REST?
Uma API REST é uma interface de programação de aplicações que utiliza o protocolo HTTP para permitir a comunicação entre sistemas de software.
Quais são as principais características de uma API REST?
Quais são os verbos HTTP mais comuns utilizados em uma API REST?
O que é uma URL em uma API REST?
Quais são os formatos de representação de recursos mais comuns utilizados em uma API REST?