Съдържание и теми, включени в курса
Ден 1
Модул 1: Въведение в Python за потребители на Unix
Теми
Защо Python за скриптове и автоматизация
• Предимства на Python за скриптове
• Използване на Python в системното администриране и DevOps
Сравнение Bash срещу Python
• Променливи
• Управление на потока (if, цикли)
• Работа с файлове
• Изпълнение на системни команди
Структура на Python скрипт
• Изпълнение на Python скриптове
• Използване на интерпретатора
• Аргументи на командния ред
• Въведение в argparse
Упражнения
Упражнение 1 – Конвертиране на прост Bash скрипт към Python
Bash скрипт, който:
• изброява файлове от директория
• филтрира по разширение
• показва статистика
Участниците ще пренапишат скрипта в Python.
Упражнение 2 – Python скрипт с аргументи на CLI
Създаване на Python скрипт, който:
• приема параметри от командния ред
• обработва файлове
• показва структурирани резултати
Модул 2: Манипулиране на файлове и директории
Теми
Работа с файловата система в Python
• четене и писане на файлове
• навигация в директории
• работа с пътища
Използване на модула pathlib
• управление на пътища
• файлови операции
Замяна на Unix утилити
• grep
• find
• sed
• awk
с Python имплементации
Упражнения
Упражнение 1 – Сканиране на файловата система
Python скрипт, който:
• търси големи файлове
• идентифицира стари файлове
• генерира доклад
Упражнение 2 – Обработка на конфигурационни файлове
Python скрипт, който:
• чете текстови файлове
• извлича релевантна информация
• генерира статистика
Ден 2
Модул 3: Обработка на логове и манипулиране на текст
Теми
Работа с текст в Python
• операции със низове
• филтриране и трансформиране на данни
Регулярни изрази (regex)
• идентифициране на модели
• парсване на логове
Замяна на shell вериги от команди
Пример:
grep | awk | sed | sort
имплементирано в Python
Упражнения
Упражнение 1 – Анализ на логове
Python скрипт, който:
• чете системни логове
• идентифицира грешки
• изчислява честотата на грешки
Упражнение 2 – Конвертиране на shell верига към Python
Сложен Bash pipeline, трансформиран в Python скрипт
Модул 4: Автоматизиране на системни команди
Теми
Изпълнение на shell команди от Python
• модул subprocess
• захващане на изхода
• обработка на грешки
Автоматизиране на административни задачи
• изпълнение на системни команди
• интеграция с cron jobs
• скриптиране за повтарящи се задачи
Управление на процеси
• мониторинг на процеси
• просто паралелно изпълнение
Упражнения
Упражнение 1 – Python скрипт, който изпълнява системни команди
Скрипт, който:
• изпълнява Unix команди
• захваща изхода
• генерира доклади
Упражнение 2 – Мониторинг на услуги
Python скрипт, който:
• проверява статуса на услуга
• събира информация
• показва резултати
Ден 3
Модул 5: Разширена автоматизация и взаимодействие с външни услуги
Теми
Работа с API-та в Python
• въведение в HTTP заявки
• удостоверяване и токени
• обработка на JSON отговори
Python за автоматизация на DevOps
• събиране на данни от външни услуги
• интеграция със съществуващи инструменти
• скриптиране на инфраструктура
Упражнения
Упражнение 1 – Python скрипт, консумиращ API
Скрипт, който:
• събира данни от API
• обработва информацията
• генерира доклад
Упражнение 2 – Автоматизиране на събиране на данни
Python скрипт, който:
• събира информация за системата
• генерира доклад в JSON или CSV
Модул 6: Изграждане на CLI инструмент за администриране
Теми
Структуриране на Python проект
• организация на кода
• повторно използване на функции
• модули и пакети
Създаване на CLI инструмент
• аргументи на командния ред
• структуриран изход
• обработка на грешки
Финално упражнение
Участниците ще изградят Python инструмент за автоматизация на CLI, който:
• анализира логове
• идентифицира грешки
• генерира статистика
• може да се изпълнява от командния ред
Резултати от курса
Като завършат курса, участниците ще могат да:
• трансформират shell скриптове в Python скриптове
• използват Python за автоматизиране на системни задачи
• обработват логове и сложни данни
• изграждат CLI инструменти за системно администриране на Unix
Изисквания
Предварителни изисквания
- Базови познания за операционните системи Unix/Linux
- Запознаване с използването на командния ред (shell/Bash)
- Опит в писането на прости shell скриптове (напр. цикли, условия, файлови операции)
- Общото разбиране на концепциите за системно администриране е полезно
- Няма нужда от предишен опит с Python
Целева аудитория
- Системни администратори, работещи в среди Unix/Linux
- Инженери DevOps, които търсят да подобрят възможностите за автоматизация
- Инженери и технически специалисти, използващи скриптиране на shell за ежедневни задачи
- IT професионалисти, заинтересувани от преминаване от Bash към Python
- Разработчици, работещи в среди на Unix, които искат да автоматизират работните си потоци по-ефективно
Отзиви от участници (2)
Практическите упражнения, свързани с материалът, наистина помагат за по-добро разбиране на всеки тема. Освен това, начинът да започнете урока с лекция и продължите с практически упражнения е добър и полезен, за да свържете материалът, който беше представен по-рано.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Курс - Introduction to Data Science and AI using Python
Машинен превод
Примери и упражнения, perfектно адаптирани към нашата домейна
Luc - CS Group
Курс - Scaling Data Analysis with Python and Dask
Машинен превод