Como automatizar tarefas com scripts Python

Como Automatizar Tarefas Com Scripts Python



Programadores, codificadores e desenvolvedores podem automatizar os métodos usando scripts Python, economizando tempo e esforço importantes ao realizar operações repetitivas. Python é uma linguagem de computador, como Java, que tem bom desempenho na automação de processos. Em comparação com outras línguas, é relativamente fácil de aprender. Ele também possui uma comunidade grande e vibrante e bibliotecas integradas para automatizar tarefas específicas.

Instalando Python

Antes de começar a automatizar as tarefas, instale o Python no computador ou sistema. Para instalar o Python, você deve primeiro visitar o site oficial do Python. Certifique-se de adicionar Python ao PATH do sistema durante a instalação.







  1. Selecione um IDE ou editor de texto

Qualquer editor de texto pode ser usado para construir scripts Python. Ainda assim, os ambientes de desenvolvimento integrado (IDEs), incluindo PyCharm, Visual Studio Code ou Jupyter Notebook, podem melhorar o processo com ferramentas como realce de sintaxe e depuração. No entanto, estamos usando o Notepad++ neste artigo.



  1. Determine a tarefa que precisa ser automatizada

Isso pode envolver qualquer coisa, desde o envio de e-mails em massa, a criação de relatórios, o download de arquivos e a realização de backups.



  1. Pesquise as bibliotecas e funções

Veja as funções e bibliotecas que podem automatizar as subtarefas.





  1. Escreva o script em Python

É aqui que montamos todas as peças para criar um script de trabalho completo.

  1. Tarefa

Automatize a geração de relatórios a partir dos dados armazenados em uma planilha.



  1. Script Python

Podemos usar um script Python para ler os dados de uma planilha e gerar relatórios em vários formatos, como PDF, HTML ou CSV. Além disso, o script pode ser usado para distribuir automaticamente os relatórios às partes interessadas por e-mail ou Slack.

São necessárias várias etapas para criar relatórios usando os dados da planilha. Forneceremos um script Python simplificado que usa a biblioteca Pandas para ler os dados de uma planilha Excel e criar um relatório CSV. Lembre-se de que podemos desenvolver esse script para produzir relatórios mais complexos em outros formatos e automatizar o e-mail ou notificações do Slack conforme necessário.

Instale as bibliotecas necessárias

Antes de executar o script, precisamos instalar a biblioteca Pandas, caso ela ainda não esteja instalada:

pip instalar pandas openpyxl

O código Python possui uma função chamada generate_report() que recebe dois argumentos: o caminho para uma planilha Excel que contém os dados salariais dos funcionários e o caminho para um arquivo CSV onde o relatório deve ser salvo.

A função primeiro lê a planilha do Excel em um objeto Pandas DataFrame. Em seguida, realiza o processamento e análise dos dados conforme necessário. A soma da coluna “Salário” é calculada neste caso pela função.

Em seguida, a função cria uma sequência de relatório que contém o salário total de todos os funcionários. Por fim, a função salva o relatório em um arquivo CSV.

A função principal do código especifica o arquivo Excel de entrada e o arquivo de relatório de saída e, em seguida, chama a função generate_report() para criar o relatório.

GenReport.py:
importar pandas como pd_obj
def gerar_relatório ( emp_salary_data, emp_salary_report_file ) :
tentar:
# Ler dados da planilha Excel
df_obj=pd_obj.read_excel ( emp_salary_data )
# Execute o processamento e análise de dados conforme necessário
# Para simplificar, vamos supor que queremos calcular a soma de uma coluna
salário_total = df_obj [ 'Salário' ] .soma ( )
# Crie um relatório
relatório_salário = f 'Total de todos os salários dos funcionários: {salary_total}'
#Salve o relatório em um arquivo CSV
com aberto ( emp_salary_report_file, 'Em' ) como csv_obj:
csv_obj.write ( relatório_salário )

imprimir ( f 'Relatório gerado e salvo em {emp_salary_report_file}' )
exceto exceção como ex:
imprimir ( f 'Ocorreu um erro: {str(e)}' )
se __nome__ == '__principal__' :
# Especifique o arquivo Excel de entrada e o arquivo de relatório de saída
emp_salary_data = 'input_employee_data.xlsx'
emp_salary_report_file = 'salário_soma.csv'
# Chame a função generate_report para criar o relatório
gerar_relatório ( emp_salary_data, emp_salary_report_file )

Aqui estão os dados no arquivo de entrada do funcionário:

Teste o roteiro

Devemos testar extensivamente o script depois de escrito para garantir que funcione conforme planejado. Usamos o compilador Python para testar o arquivo que automatizamos. Nesse caso, este arquivo gera e armazena o relatório com êxito em um arquivo CSV.

Agende ou acione o script

Dependendo dos requisitos de automação, podemos executar o script Python de várias maneiras:

  • Execução manual: Execute o script manualmente em um IDE ou por meio da linha de comando usando o seguinte comando: python GenerateReport.py .
  • Tarefas agendadas (Windows): Podemos executar o script em horários ou intervalos específicos usando o Agendador de Tarefas do Windows. Usando o serviço Windows, também podemos invocar um evento específico.
  • Cron Jobs (Linux/macOS): Podemos usar cron jobs para agendar a execução do script em horários específicos em sistemas do tipo Unix.
  • Orientado a eventos: Podemos acionar seu script em resposta a eventos específicos, como alterações de arquivos, usando bibliotecas como watchdog ou integrando com webhooks.

Automatizando o backup do MySQL usando Python

Para automatizar o processo de backup de um servidor MySQL em uma programação de hora em hora, podemos usar Python em combinação com a biblioteca “mysqlclient” para conectar ao banco de dados MySQL e criar backups, e podemos usar um agendador de tarefas como Cron (em Unix-based sistemas) para executar o script Python em intervalos de hora em hora. A seguir está um script Python que você pode usar para essa finalidade:

Etapa 1: instale as bibliotecas necessárias

Precisamos instalar a biblioteca “mysqlclient” para conectividade MySQL. Podemos instalá-lo usando pip:

Pip instalar mysqlclient

pip instalar analisador de configuração

Etapa 2: Crie um arquivo de configuração

Crie um arquivo de texto (por exemplo, mysqlconfig.ini) para armazenar as informações de sua conexão MySQL, incluindo a senha. Aqui está um exemplo da aparência do arquivo “mysqlconfig.ini”:

[ mysql ]
mySQL_DB_HOST = localhost
mySQL_DB_USERNAME = raiz
mySQL_DB_PASSWORD= 1234
mySQL_DB_DATABASE_NAME = marcasw9_data

Etapa 3: verifique o diretório Bin do MySQL :

O comando “mysqldump” deve estar localizado no diretório bin do MySQL. Verifique se o PATH do sistema inclui o diretório bin. Podemos modificar a variável de ambiente PATH para incluir a localização bin do MySQL.

No Windows: Podemos editar o PATH do sistema explorando “Variáveis ​​de Ambiente” no menu “Iniciar” e adicionando o diretório bin do MySQL (por exemplo, C:\Arquivos de Programas\MySQL\MySQL Server X.X\bin) à variável PATH.

Etapa 3: escrever o script Python

Crie um script Python, por exemplo, MySQLBackup.py, para automatizar o processo de backup do MySQL. Substitua os espaços reservados pelos detalhes da conexão com o banco de dados e caminhos de arquivo conforme necessário.

subprocesso de importação como sp
de data e hora importar data e hora como dt_obj
importar analisador de configuração como mysql_confg
#Detalhes da conexão do banco de dados MySQL
# Carrega detalhes da conexão MySQL do arquivo de configuração
config_obj=mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # Ajuste o caminho se necessário
mySQL_DB_HOST=config_obj.get ( 'mysql' , 'mySQL_DB_HOST' )
mySQL_DB_USERNAME=config_obj.get ( 'mysql' , 'mySQL_DB_USERNAME' )
mySQL_DB_PASSWORD=config_obj.get ( 'mysql' , 'mySQL_DB_SENHA' )
mySQL_DB_DATABASE_NAME=config_obj.get ( 'mysql' , 'mySQL_DB_DATABASE_NAME' )
#Diretório de backup
bk_dir= 'diretório_backup/'
# Obtém a data e hora atuais do nome do arquivo de backup
carimbos de data e hora = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# Defina o nome do arquivo de backup
meu_sql_bk = f 'backup_{timestamp_oj}.sql'
# Comando de despejo MySQL
mysql_dump_cmd=f 'mysqldump -h {mySQL_DB_HOST} -u {mySQL_DB_USERNAME} -p{mySQL_DB_PASSWORD} {mySQL_DB_DATABASE_NAME} > {bk_dir}{my_sql_bk}'

tentar:
# Execute o comando MySQL dump para criar um backup
sp.run ( mysql_dump_cmd, concha = Verdadeiro, verificar = Verdadeiro )
imprimir ( f 'Backup concluído e salvo como '{my_sql_bk}' em '{bk_dir}'' )
exceto sp.CalledProcessError como e:
imprimir ( f 'Erro ao criar backup: {str(e)}' )

Etapa 4: teste e execute o código

Etapa 5: agende o script com o Agendador de tarefas do Windows

Agora, vamos agendar o script Python para ser executado automaticamente usando o Agendador de Tarefas do Windows:

Inicie o Agendador de Tarefas do Windows digitando “Agendador de Tarefas” na barra de pesquisa do menu “Iniciar” ou digitando “taskschd.msc” na caixa de diálogo “Executar” (Win + R).

Selecione “Biblioteca do Agendador de Tarefas” no painel esquerdo do Agendador de Tarefas.

No painel direito, clique em “Criar Tarefa Básica…” para abrir o “Assistente para Criar Tarefa Básica”.

Insira um nome e uma descrição para a tarefa. Em seguida, pressione “Avançar”.

Escolha “Diário” como tipo de acionador (mesmo que você queira executá-lo de hora em hora, isso permite definir um intervalo de repetição). Em seguida, clique em “Avançar”.

Especifique a data e hora de início da tarefa de backup.

Escolha “Repetir tarefa a cada:” e defina-o para 1 hora.

Defina a duração para “1 dia”. Em seguida, clique em “Avançar”.

Escolha “Iniciar um programa” e pressione “Avançar”.

Navegue e selecione o executável Python (python.exe) clicando em “Browse”.

Navegue e selecione o executável Python (python.exe) clicando em “Browse”.

Insira o caminho completo para o seu script Python (por exemplo, C:\path\to\mysql_backup.py) no campo “Adicionar argumentos”.

Insira o diretório que contém seu script Python (por exemplo, C:\path\to\) no campo “Iniciar em (opcional)”.

Clique em “Avançar”.

Revise as configurações da tarefa e clique em “Concluir” para criar a tarefa.

Conclusão

Podemos construir scripts de automação confiáveis ​​e eficazes que reduzem o tempo dos fluxos de trabalho e o dedicam a atividades mais importantes, utilizando as ferramentas Python e suas melhores práticas. Fornecemos alguns exemplos que certamente o ajudarão a automatizar suas tarefas usando scripts Python.