Python

Планування завдань за допомогою Python

Планування завдань за допомогою Python
Деякі завдання в нашому житті справді займають багато часу, і нам нудно робити ці завдання неодноразово. Щоб уникнути тих нудних завдань, ми автоматизуємо ці завдання в нашій системі. Python має безліч модулів автоматизації, які можна використовувати для автоматизації наших матеріалів. Нижче ми обговоримо важливість автоматизації та способи автоматизації наших матеріалів за допомогою python. Ми також обговоримо деякі модулі автоматизації в python, які допомагають автоматизувати наші матеріали. Тоді ми побачимо кілька випадків використання автоматизації за допомогою python. Наприкінці ми побачимо, як ми можемо запланувати автоматичний запуск нашого сценарію python під час запуску.

Чому ми автоматизуємо свої речі

Автоматизація наших речей може полегшити наше життя. Він має багато переваг, але деякі важливі переваги автоматизації наведені нижче

Автоматизація за допомогою Python

Є кілька мов сценаріїв, таких як bash, perl тощо. для автоматизації ручних процесів, але python забезпечує можливе середовище для задоволення наших потреб. Автоматизувати матеріали легше за допомогою мови програмування Python, ніж будь-якої іншої мови. Python має безліч модулів автоматизації (i.e. підпроцес, шутіл, ос, п’явтогуї, селен тощо.), які можна використовувати в автоматизації. Ми побачимо кілька випадків використання того, як ми автоматизуємо свої речі.

Модулі автоматизації в Python

Тут ми обговоримо деякі модулі автоматизації на зразок python ОС, ПІДПРОЦЕС, ШУТІЛ, ДАТА, СЕЛЕН тощо. Ці модулі використовуються для виконання системних команд, а також можуть використовуватися для маніпулювання системними каталогами. Ці модулі мають вбудовані функції, які полегшують виконання завдань в системі.

ОС і ПІДПРОЦЕС модулі використовуються майже з тією ж метою. Деякі вбудовані функції цих модулів наведені нижче

Так само ШУТІЛ Модуль має безліч функцій, що дозволяє взаємодіяти з системою. Деякі функції цього модуля наведені нижче

ДАТА, ЧАС модуль використовується для пошуку поточної дати та часу. Він також використовується для пошуку дня тижня та багатьох інших речей. Ми можемо запланувати наше завдання на будь-який час і дату, використовуючи цей модуль. У наступних випадках використання ми будемо використовувати його для пошуку лише поточної дати та часу.

СЕЛЕН Модуль використовується для автоматизації процесу реєстрації нашого веб-сайту. Ми можемо автоматично ввійти на наш веб-сайт і оновити його за допомогою СЕЛЕН модуль. СЕЛЕН має багато вбудованих функцій, які використовуються для виконання різних завдань, пов'язаних з браузерами.

Як виконувати системні команди в Python

Ми можемо запускати системні команди в python, використовуючи ОС і ПІДПРОЦЕС модулі. Далі наведено синтаксис запуску системної команди в python

ос.system ('команда')

АБО

підпроцес.виклик ('команда')

Наприклад, якщо ми хочемо перерахувати всі файли та каталоги у поточному каталозі, ми виконаємо таку команду в скрипті python

ос.system ('ls')

АБО

підпроцес.виклик ('ls')

Як автоматизувати речі за допомогою Python

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

Впорядкування файлів у каталозі завантажень

Коли ми завантажуємо будь-який тип файлу, він за замовчуванням переходить у каталог завантажень. Коли нам потрібно знайти будь-який файл, це може спричинити проблему, оскільки в каталозі завантаження є багато типів файлів. Тепер ми напишемо сценарій python для автоматизації системи таким чином, щоб різні типи файлів (наприклад,.g. mp3, png, xls тощо) розміщується в різних каталогах. Повний код наведено нижче. Цей код перевіряє кожен тип файлів по одному, а потім створює відповідний каталог. Після цього він перемістить файл у відповідні каталоги (наприклад,.g ... mp3-файл перейде в каталог "Аудіо").

імпорт ос
імпорт шутіл
імпорт дата і час
в той час як 1:
# обчислення поточної години, хвилини та секунди
сьогодні = дата і час.дата, час.сьогодні ()
сьогодні = str (сьогодні)
current_hour = сьогодні [11:13]
current_minute = сьогодні [14:16]
current_sec = сьогодні [17:19]
# переконавшись, що система впорядковує файли о 08:00
якщо current_hour == '08' і current_minute == '00' і current_sec == '00':
# зміна каталогу для завантаження
ос.chdir ("path_to_Download_directory")
# збереження всіх назв файлів у списку
files = os.listdir (os.getcwd ())
для імені файлу у файлах:
# ігнорування каталогів
якщо не ос.шлях.isdir (ім'я файлу):
# вибір файлів mp3
якщо '.mp3 'в назві файлу:
# створення каталогу "Аудіо", якщо він не існує
якщо не ос.шлях.існує ('Аудіо'):
ос.mkdir ('Аудіо')
# переміщення файлу в каталозі 'Audio'
шутіл.перемістити (ім'я файлу, 'Аудіо')
# вибір файлів mp4
elif '.mp4 'в імені файлу:
# створення каталогу "Video", якщо він не існує
якщо не ос.шлях.існує ("Відео"):
ос.mkdir ('Відео')
# переміщення файлу в каталозі "Відео"
шутіл.перемістити (ім'я файлу, 'Відео')
# вибір файлів PDF
elif '.pdf 'в назві файлу:
# створення каталогу "PDF", якщо він не існує
якщо не ос.шлях.існує ('PDF'):
ос.mkdir ('PDF')
# переміщення файлу в каталозі PDF
шутіл.перемістити (ім'я файлу, 'PDF')
# вибір файлів jpg та png
elif '.jpg 'в назві файлу або'.png 'в назві файлу:
# створення каталогу "Картинки", якщо він не існує
якщо не ос.шлях.існує ('Картинки'):
ос.mkdir ('Картинки')
# переміщення файлу в каталозі "Картинки"
шутіл.перемістити (ім'я файлу, 'Зображення')
# вибір файлів Excel
elif '.xls 'в назві файлу:
# створення каталогу "Excel", якщо він не існує
якщо не ос.шлях.існує ('Excel'):
ос.mkdir ('Excel')
# переміщення файлу в каталозі 'Excel'
шутіл.перемістити (ім'я файлу, 'Excel')
# вибір.ppt 'файли
elif '.ppt 'в імені файлу:
# створення каталогу "Power Point", якщо він не існує
якщо не ос.шлях.існує ('Power Point'):
ос.mkdir ('Power Point')
# переміщення файлу в каталозі 'Power Point'
шутіл.перемістити (ім'я файлу, 'Power Point')
# вибір.файли документів
elif '.docx 'в імені файлу:
# створення каталогу "Файл Word", якщо він не існує
якщо не ос.шлях.існує ('Файл Word'):
ос.mkdir ('Файл слова')
# переміщення файлу в каталозі "Файл Word"
шутіл.перемістити (ім'я файлу, 'Файл Word')

Перш за все, ми збережемо поточний час у різних змінних, а потім перевіримо, чи є час точним '08: 00 'чи ні. Програма буде перевіряти час щодня і запускатиме код, якщо час '08: 00 ', тоді буде запускатися основний код. В основному коді, перш за все, ми міняємо наш каталог на Каталог завантажень. Тут ми збережемо всі імена файлів у списку іменних файлів. Тепер ми будемо читати всі файли по одному і фільтрувати лише файли. Ми будемо ігнорувати каталоги, оскільки збираємося впорядковувати лише файли.

Тепер ми перевіримо кожен тип файлу, чи є це mp3, mp4, jpg, pdf, xls, ppt та docx чи ні. Після перевірки кожного типу файлу ми перевіримо, чи існує відповідний каталог чи ні. Наприклад, якщо файл у форматі mp3, ми перевіримо, чи існує каталог «Аудіо» чи ні. Якщо відповідний каталог не існує, ми створимо каталог. Після створення каталогу ми перемістимо наш файл у цей каталог. Таким чином усі файли можна перемістити до відповідних каталогів.

Цей код буде працювати безперервно і продовжуватиме перевіряти, чи є час '08: 00 'чи ні. Щодня о '08: 00 'файли впорядковуватимуться автоматично. Цей код можна запланувати для запуску кожного разу при запуску системи за допомогою crontab. Кронтаб пояснено нижче.

Автоматично створюйте резервні копії файлів за допомогою системних команд

У вас є важливі файли в каталозі, пов’язані з вашим проектом, і деякі файли видаляються. Тоді що ти зробиш? У такій ситуації важливо створити резервну копію файлів. Але створення резервної копії файлів справді нудне і вимагає багато часу. Це завдання можна виконати автоматично, написавши сценарій python. Далі наведено код для виконання цього завдання. Цей код перетворить кожен файл на zip-файл, тоді створить каталог резервної копії, якщо він не існує. Після цього zip-файл буде переміщено в каталог резервних копій.

імпорт ос
імпорт дата і час
в той час як 1:
# економія поточного часу
сьогодні = дата і час.дата, час.сьогодні ()
сьогодні = str (сьогодні)
current_hour = сьогодні [11:13]
current_minute = сьогодні [14:16]
current_sec = сьогодні [17:19]
# переконавшись, що код буде працювати точно в '08: 00 '
якщо current_hour == '08' і current_minute == '00' і current_sec == '00':
# зміна каталогу на документи
ос.chdir ('шлях_до_документів_до каталогу')
# збереження всіх назв файлів у списку
files = os.listdir (os.getcwd ())
# створення "резервної копії" каталогу, якщо вона не існує
якщо не ос.шлях.існує ('резервна копія'):
ос.mkdir ('резервна копія')
для файлу у файлах:
# ігнорування каталогів
якщо не ос.шлях.isdir (файл):
# визначення імені файлу без пробілів
original_name = файл
файл = файл.розділити ("")
file_name = "".приєднатися (файл)
# визначає zip_filename
zip_file_name = ім'я_файлу + ".блискавка "
# перевірка, чи файл вже існує в каталозі резервної копії чи ні
якщо не ос.шлях.існує ('backup /' + zip_file_name):
# зміна імені файлу без пробілів
ос.перейменувати (оригінальне_ім'я, ім'я_файла)
# створення zip-файлу за допомогою системної команди
ос.system ("zip" + zip_file_name + "" + file_name)
#moving zip-файл у каталозі резервної копії за допомогою системної команди
ос.система ("mv" + zip_file_name + "резервна копія")
# зміна назви файлу на початкову
ос.перейменувати (ім'я_файла, оригінальне_ім'я)

Перш за все ми збережемо поточний час у змінних, а потім перевіримо, чи є час '08: 00 'чи ні. Якщо час точний '08: 00 ', тоді буде запущений основний скрипт. У головному коді, перш за все, ми переходимо до каталогу, в якому знаходяться важливі файли. Потім ми зберігаємо всі імена файлів у списку. Тепер ми створимо каталог «резервна копія», в якому збережемо всі zip-файли. Якщо цей каталог вже існує, ми будемо його ігнорувати. Тепер ми прочитаємо кожен файл і перевіримо, чи це файли чи ні. Каталоги ігноруватимуться, а файли будуть розглядатися.

Для того, щоб створити zip-файл файлу за допомогою системної команди, насамперед ми перейменуємо цей файл без пробілів, оскільки ім'я файлу з пробілами вважається іншим файлом у кожному пробілі, коли запускається в системну команду за допомогою скрипта python. Ім'я файлу зберігається у змінній 'original_filename', і файл перейменовується без пробілів. Тепер ми визначимо ім'я zip-файлу так само, як ім'я файлу з розширенням '.блискавка.

Після цього ми будемо використовувати системну команду 'zip', щоб заархівувати цей файл, а потім перемістимо цей zip-файл в каталог 'резервна копія' за допомогою системної команди 'mv'. Потім ми знову перейменуємо файл із початковою назвою з пробілами. Цей код планується запускати в системі щоразу автоматично при запуску системи за допомогою crontab.

Автоматизуйте запуск сценарію за допомогою Crontab

Ми писали сценарії автоматизації вище. Тепер ми хочемо запускати ці сценарії автоматично, коли наша система перезавантажується. Для цього ми додаємо наш сценарій у crontab. Для того, щоб додати завдання в crontab, виконайте наступні кроки

Перш за все, введіть наступну команду для редагування файлу crontab

ubuntu @ ubuntu: ~ $ crontab -e

-Прапор означає відкритий crontab в режимі редагування. Після відкриття файлу crontab тепер ми додамо наше завдання до цього файлу, використовуючи наступну команду в кінці файлу

@reboot python / path / to / python / script

Це буде запускати сценарій python автоматично кожного разу під час запуску системи.

Висновок

У цій статті пояснюється важливість автоматизації в практичному житті. Читаючи цю статтю, ви отримуєте уявлення про те, як можна автоматизувати свої прості завдання, які ви виконуєте щодня. Вам обов’язково слід шукати більше бібліотек та функцій python для кращої та простішої автоматизації.

Топ 5 карт для захоплення ігор
Ми всі бачили і любили потокові ігри на YouTube. PewDiePie, Jakesepticye та Markiplier - лише деякі з найкращих геймерів, які заробили мільйони, заван...
Як розробити гру на Linux
Десять років тому не так багато користувачів Linux передбачали, що їх улюблена операційна система колись стане популярною ігровою платформою для комер...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...