Как да автоматизирате задачи със скриптове на Python

Kak Da Avtomatizirate Zadaci S S Skriptove Na Python



Програмисти, програмисти и разработчици могат да автоматизират методите с помощта на скриптове на Python, спестявайки им важно време и усилия чрез извършване на повтарящи се операции. Python е компютърен език, като Java, който се представя добре при автоматизация на процеси. В сравнение с други езици той е относително лесен за научаване. Освен това има голяма, динамична общност и вградени библиотеки за автоматизиране на определени задачи.

Инсталиране на Python

Преди да започнете да автоматизирате задачите, инсталирайте Python на компютъра или системата. За да инсталирате Python, първо трябва да посетите официалния уебсайт на Python. Не забравяйте да добавите Python към PATH на системата по време на инсталацията.







  1. Изберете IDE или текстов редактор

Всеки текстов редактор може да се използва за създаване на скриптове на Python. Все пак интегрираните среди за разработка (IDE), включително PyCharm, Visual Studio Code или Jupyter Notebook, могат да подобрят процеса с инструменти като подчертаване на синтаксиса и отстраняване на грешки. Ние обаче използваме Notepad++ в тази статия.



  1. Определете задачата, която трябва да бъде автоматизирана

Това може да включва всичко - от изпращане на групови имейли, създаване на отчети, изтегляне на файлове и създаване на резервни копия.



  1. Проучете библиотеките и функциите

Вижте функциите и библиотеките, които могат да автоматизират подзадачите.





  1. Напишете скрипта на Python

Това е мястото, където сглобяваме всички части, за да създадем пълен работещ скрипт.

  1. Задача

Автоматизирайте генерирането на отчети от данните, които се съхраняват в електронна таблица.



  1. Python скрипт

Можем да използваме скрипт на Python, за да четем данните от електронна таблица и да генерираме отчети в различни формати като PDF, HTML или CSV. Освен това скриптът може да се използва за автоматично разпространение на отчетите до заинтересованите страни чрез имейл или Slack.

Необходими са няколко стъпки за създаване на отчети с помощта на данните от електронните таблици. Ще ви дадем опростен скрипт на Python, който използва библиотеката Pandas, за да прочете данните от електронна таблица на Excel и да създаде CSV отчет. Не забравяйте, че можем да надграждаме този скрипт, за да произвеждаме по-сложни отчети в други формати и да автоматизираме имейл или Slack известия, както се изисква.

Инсталирайте необходимите библиотеки

Преди да стартираме скрипта, трябва да инсталираме библиотеката Pandas, ако все още не е инсталирана:

пип Инсталирай панди openpyxl

Кодът на Python има функция, наречена generate_report(), която приема два аргумента: пътя към електронна таблица в Excel, която съдържа данните за заплатите на служителите, и пътя към CSV файл, където трябва да бъде записан отчетът.

Функцията първо чете електронната таблица на Excel в обект Pandas DataFrame. След това извършва обработката и анализа на данните, ако е необходимо. Сумата на колоната „Заплата“ се изчислява в този случай от функцията.

След това функцията създава отчетен низ, който съдържа общата заплата на всички служители. Накрая функцията записва отчета в CSV файл.

Основната функция на кода определя входния Excel файл и изходния отчетен файл и след това извиква функцията generate_report(), за да създаде отчета.

GenReport.py:
вносни панди като pd_obj
def генериране_отчет ( emp_данни_заплата, emp_файл_отчет_заплата ) :
опитвам:
# Прочетете данни от електронната таблица на Excel
df_obj = pd_obj.read_excel ( emp_salary_data )
# Извършете обработка и анализ на данни, ако е необходимо
# За простота, нека приемем, че искаме да изчислим сумата на колона
salary_total = df_obj [ 'Заплата' ] .sum ( )
# Създаване на отчет
отчет_заплата = f „Общо заплати на всички служители: {salary_total}“
# Запазете отчета в CSV файл
с отворен ( emp_salary_report_file, 'в' ) като csv_obj:
csv_obj.write ( salary_report )

печат ( f „Отчетът е генериран и запазен в {emp_salary_report_file}“ )
освен Изключение като пр.:
печат ( f „Възникна грешка: {str(e)}“ )
ако __име__ == '__основен__' :
# Посочете входния Excel файл и изходния отчетен файл
emp_salary_data = 'input_employee_data.xlsx'
emp_salary_report_file = 'сума_заплата.csv'
# Извикайте функцията generate_report, за да създадете отчета
генериране_отчет ( emp_данни_заплата, emp_файл_отчет_заплата )

Ето данните във входния файл на служителя:

Тествайте скрипта

Трябва да тестваме обстойно скрипта, след като е написан, за да сме сигурни, че функционира по предназначение. Използваме компилатора на Python, за да тестваме файла, който автоматизираме. В този случай този файл успешно генерира и съхранява отчета в CSV файл.

Планирайте или задействайте скрипта

В зависимост от изискванията за автоматизация, можем да изпълним скрипта на Python по различни начини:

  • Ръчно изпълнение: Стартирайте скрипта ръчно, като го изпълните в IDE или чрез командния ред, като използвате следната команда: python GenerateReport.py .
  • Планирани задачи (Windows): Можем да стартираме скрипта в определени часове или интервали с помощта на Windows Task Scheduler. Използвайки услугата Windows, можем също да извикаме конкретно събитие.
  • Cron Jobs (Linux/macOS): Можем да използваме задания на cron, за да планираме изпълнението на скрипта в определени часове на Unix-подобни системи.
  • Водени от събития: Можем да задействаме вашия скрипт в отговор на конкретни събития, като например промени на файлове, използване на библиотеки като watchdog или чрез интегриране с webhooks.

Автоматизиране на архивирането на MySQL с помощта на Python

За да автоматизираме процеса на архивиране на MySQL сървър по почасов график, можем да използваме Python в комбинация с библиотеката „mysqlclient“, за да се свържем с базата данни на MySQL и да създадем резервни копия, и можем да използваме планировчик на задачи като Cron (на базата на Unix системи), за да стартирате скрипта на Python на интервали от час. Следното е скрипт на Python, който можете да използвате за тази цел:

Стъпка 1: Инсталирайте необходимите библиотеки

Трябва да инсталираме библиотеката “mysqlclient” за MySQL свързаност. Можем да го инсталираме с помощта на pip:

Пип Инсталирай mysqlclient

пип Инсталирай configparser

Стъпка 2: Създайте конфигурационен файл

Създайте текстов файл (напр. mysqlconfig.ini), за да съхранявате информацията за вашата MySQL връзка, включително паролата. Ето пример за това как може да изглежда файлът „mysqlconfig.ini“:

[ mysql ]
mySQL_DB_HOST = локален хост
mySQL_DB_USERNAME = root
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = brandsw9_data

Стъпка 3: Проверете MySQL Bin Directory :

Командата “mysqldump” трябва да се намира в директорията на MySQL bin. Проверете дали PATH на системата включва директорията bin. Можем да модифицираме променливата на средата PATH, за да включим местоположението на MySQL bin.

В Windows: Можем да редактираме PATH на системата, като проучим „Променливи на средата“ в менюто „Старт“ и добавим директорията MySQL bin (напр. C:\Program Files\MySQL\MySQL Server X.X\bin) към променливата PATH.

Стъпка 3: Напишете скрипта на Python

Създайте скрипт на Python, например MySQLBackup.py, за да автоматизирате процеса на архивиране на MySQL. Заменете контейнерите с подробностите за връзката с базата данни и пътищата на файловете, ако е необходимо.

подпроцес за импортиране като sp
от дата и час импортиране на дата и час като dt_obj
импортиране на configparser като mysql_confg
# Подробности за връзка с MySQL база данни
# Заредете подробности за MySQL връзката от конфигурационния файл
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # Коригирайте пътя, ако е необходимо
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_PASSWORD“ )
mySQL_DB_DATABASE_NAME = config_obj.get ( 'mysql' , „mySQL_DB_DATABASE_NAME“ )
# Резервна директория
bk_dir = 'backup_directory/'
# Вземете текущата дата и час за името на архивния файл
времеви отпечатъци = dt_obj.now ( ) .strftime ( „%Y%m%d%H%M%S“ )
# Определете името на архивния файл
my_sql_bk = f 'backup_{timestamp_oj}.sql'
# Команда за дъмп на 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}'

опитвам:
# Изпълнете командата MySQL dump, за да създадете резервно копие
sp.run ( mysql_dump_cmd, черупка =Вярно, проверка =Вярно )
печат ( f „Архивирането е завършено и запазено като „{my_sql_bk}“ в „{bk_dir}““ )
освен sp.CalledProcessError като То е:
печат ( f „Грешка при създаване на резервно копие: {str(e)}“ )

Стъпка 4: Тествайте и изпълнете кода

Стъпка 5: Планирайте скрипта с Windows Task Scheduler

Сега, нека планираме скрипта на Python да се изпълнява автоматично с помощта на Windows Task Scheduler:

Стартирайте Windows Task Scheduler, като напишете „Task Scheduler“ в лентата за търсене на менюто „Старт“ или като напишете „taskschd.msc“ в диалоговия прозорец „Run“ (Win + R).

Изберете „Библиотека на планировчика на задачи“ от левия панел на планировчика на задачи.

В десния панел щракнете върху „Създаване на основна задача…“, за да отворите „Съветник за създаване на основна задача“.

Въведете име и описание на задачата. След това натиснете 'Напред'.

Изберете „Ежедневно“ като тип задействане (въпреки че искате да го стартирате всеки час, това ви позволява да зададете интервал на повторение). След това щракнете върху „Напред“.

Посочете началната дата и час за задачата за архивиране.

Изберете „Повтаряне на задачата на всеки:“ и го задайте на 1 час.

Задайте продължителността на „1 ден“. След това щракнете върху „Напред“.

Изберете „Стартиране на програма“ и след това натиснете „Напред“.

Прегледайте и изберете изпълнимия файл на Python (python.exe), като щракнете върху „Преглед“.

Прегледайте и изберете изпълнимия файл на Python (python.exe), като щракнете върху „Преглед“.

Въведете пълния път до вашия скрипт на Python (напр. C:\path\to\mysql_backup.py) в полето „Добавяне на аргументи“.

Въведете директорията, която съдържа вашия скрипт на Python (напр. C:\path\to\) в полето „Стартиране в (по избор)“.

Кликнете върху „Напред“.

Прегледайте настройките на задачата и щракнете върху „Край“, за да създадете задачата.

Заключение

Можем да създадем надеждни и ефективни скриптове за автоматизация, които съкращават времето за работни потоци и го посвещават на по-важни дейности, като използваме инструментите на Python и неговите най-добри практики. Предоставихме няколко примера, които определено ще ви помогнат да автоматизирате задачите си с помощта на скриптове на Python.