Как автоматизировать задачи с помощью скриптов Python

Kak Avtomatizirovat Zadaci S Pomos U Skriptov 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 есть функцияgener_report(), которая принимает два аргумента: путь к электронной таблице Excel, содержащей данные о зарплате сотрудников, и путь к CSV-файлу, в котором следует сохранить отчет.

Функция сначала считывает электронную таблицу Excel в объект Pandas DataFrame. Затем он выполняет обработку и анализ данных по мере необходимости. Сумма столбца «Зарплата» в данном случае вычисляется функцией.

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

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

GenReport.py:
импорт панд как pd_obj
защита генерировать_отчет ( emp_salary_data, emp_salary_report_file ) :
пытаться:
# Читаем данные из таблицы Excel
df_obj = pd_obj.read_excel ( emp_salary_data )
# Выполнять обработку и анализ данных по мере необходимости
# Для простоты предположим, что мы хотим вычислить сумму столбца
зарплата_общая = df_obj [ 'Зарплата' ] .сумма ( )
# Создать отчет
зарплата_report = ж «Общая зарплата всех сотрудников: {salary_total}»
# Сохраняем отчет в CSV-файл
с открытым ( emp_salary_report_file, 'В' ) как csv_obj:
csv_obj.write ( зарплата_отчет )

Распечатать ( ж «Отчет создан и сохранен в {emp_salary_report_file}» )
кроме исключения как бывший:
Распечатать ( ж «Произошла ошибка: {str(e)}» )
если __имя__ == '__основной__' :
# Укажите входной файл Excel и файл выходного отчета
emp_salary_data = 'input_employee_data.xlsx'
emp_salary_report_file = 'salary_sum.csv'
# Вызовите функциюgenerate_report для создания отчета
генерировать_отчет ( emp_salary_data, emp_salary_report_file )

Вот данные во входном файле сотрудника:

Проверьте сценарий

Мы должны тщательно протестировать сценарий после его написания, чтобы убедиться, что он работает так, как задумано. Мы используем компилятор Python для тестирования файла, который автоматизируем. В этом случае этот файл успешно генерирует и сохраняет отчет в файле CSV.

Запланируйте или запустите сценарий

В зависимости от требований автоматизации мы можем выполнить скрипт Python различными способами:

  • Ручное выполнение: Запустите сценарий вручную, выполнив его в IDE или через командную строку, используя следующую команду: python GenerateReport.py .
  • Запланированные задачи (Windows): Мы можем запускать сценарий в определенное время или через определенные промежутки времени с помощью планировщика задач Windows. Используя службу Windows, мы также можем вызвать определенное событие.
  • Задания Cron (Linux/macOS): Мы можем использовать задания cron, чтобы запланировать запуск сценария в определенное время в Unix-подобных системах.
  • Управляемый событиями: Мы можем запускать ваш скрипт в ответ на определенные события, такие как изменения файлов, используя такие библиотеки, как сторожевой таймер, или путем интеграции с веб-перехватчиками.

Автоматизация резервного копирования MySQL с помощью Python

Чтобы автоматизировать процесс резервного копирования сервера MySQL по почасовому расписанию, мы можем использовать Python в сочетании с библиотекой mysqlclient для подключения к базе данных MySQL и создания резервных копий, а также мы можем использовать планировщик задач, такой как Cron (на базе Unix). системы) для запуска сценария Python с ежечасными интервалами. Ниже приведен скрипт Python, который вы можете использовать для этой цели:

Шаг 1. Установите необходимые библиотеки

Нам нужно установить библиотеку mysqlclient для подключения к MySQL. Мы можем установить его с помощью pip:

Пип установить mysqlклиент

пункт установить конфигпарсер

Шаг 2. Создайте файл конфигурации

Создайте текстовый файл (например, mysqlconfig.ini) для хранения информации о соединении MySQL, включая пароль. Вот пример того, как может выглядеть файл «mysqlconfig.ini»:

[ MySQL ]
mySQL_DB_HOST = локальный хост
mySQL_DB_USERNAME = корень
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = Brandsw9_data

Шаг 3. Проверьте каталог Bin MySQL :

Команда «mysqldump» должна находиться в каталоге bin MySQL. Убедитесь, что системный PATH включает каталог bin. Мы можем изменить переменную среды PATH, включив в нее расположение корзины MySQL.

В Windows: мы можем редактировать системный PATH, выбрав «Переменные среды» в меню «Пуск» и добавив каталог bin MySQL (например, C:\Program Files\MySQL\MySQL Server X.X\bin) в переменную PATH.

Шаг 3. Напишите скрипт Python

Создайте сценарий Python, например MySQLBackup.py, для автоматизации процесса резервного копирования MySQL. При необходимости замените заполнители сведениями о подключении к базе данных и путями к файлам.

подпроцесс импорта как сп
из даты и времени импорта даты и времени как dt_obj
импортировать конфигурационный анализатор как 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 = 'каталог_резервной_копии/'
# Получить текущую дату и время для имени файла резервной копии
временные метки = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# Определите имя файла резервной копии
my_sql_bk = е 'backup_{timestamp_oj}.sql'
# Команда дампа MySQL
mysql_dump_cmd = е 'mysqldump -h {mySQL_DB_HOST} -u {mySQL_DB_USERNAME} -p{mySQL_DB_PASSWORD} {mySQL_DB_DATABASE_NAME} > {bk_dir}{my_sql_bk}'

пытаться:
# Выполните команду MySQL dump, чтобы создать резервную копию
сп.run ( mysql_dump_cmd, оболочка = Верно, проверять = Истина )
Распечатать ( ж «Резервное копирование завершено и сохранено как «{my_sql_bk}» в «{bk_dir}»» )
кроме sp.CalledProcessError как Это:
Распечатать ( ж «Ошибка создания резервной копии: {str(e)}» )

Шаг 4. Тестирование и выполнение кода

Шаг 5. Запланируйте выполнение сценария с помощью планировщика задач Windows.

Теперь давайте запланируем автоматический запуск сценария Python с помощью планировщика задач Windows:

Запустите планировщик задач Windows, введя «Планировщик заданий» в строку поиска меню «Пуск» или введя «taskschd.msc» в диалоговое окно «Выполнить» (Win + R).

Выберите «Библиотека планировщика задач» на левой панели планировщика задач.

На правой панели нажмите «Создать базовую задачу…», чтобы открыть «Мастер создания базовой задачи».

Введите имя и описание задачи. Затем нажмите «Далее».

Выберите «Ежедневно» в качестве типа триггера (даже если вы хотите запускать его ежечасно, это позволит вам установить интервал повторения). Затем нажмите «Далее».

Укажите дату и время начала задачи резервного копирования.

Выберите «Повторять задачу каждые:» и установите для него значение 1 час.

Установите продолжительность «1 день». Затем нажмите «Далее».

Выберите «Запустить программу», а затем нажмите «Далее».

Найдите и выберите исполняемый файл Python (python.exe), нажав «Обзор».

Найдите и выберите исполняемый файл Python (python.exe), нажав «Обзор».

Введите полный путь к вашему скрипту Python (например, C:\path\to\mysql_backup.py) в поле «Добавить аргументы».

Введите каталог, содержащий ваш скрипт Python (например, C:\path\to\), в поле «Начать с (необязательно)».

Нажмите «Далее».

Просмотрите настройки задачи и нажмите «Готово», чтобы создать задачу.

Заключение

Мы можем создавать надежные и эффективные сценарии автоматизации, которые сокращают время рабочих процессов и посвящают его более важным действиям, используя инструменты Python и его лучшие практики. Мы предоставили несколько примеров, которые обязательно помогут вам автоматизировать ваши задачи с помощью скриптов Python.