Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
CiscoConnectМосква, 2017
Цифровизация: здесь и сейчас
Прикладная автоматизация для сетевых инженеров, используя PythonАлексей Панов
Системный инженер
You’re either the one that creates the automation or you’re getting automated.
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 03
- Tom Preston-Werner, co-founder of GitHub
Почему Python
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 04
• Один из наиболее интуитивно понятных “серьезных” языков
программирования
• Крайне разносторонний
• Популярный
Github active repositories rating
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 05
Среда разработки
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 06
• Предустановлен на большинство unix-подобных систем,
включая OSX
• Для разработки достаточно продвинутого текстового
редактора (Atom, Sublime Text, Notepad++, … ) или IDE
(Pycharm, Spyder …)
• CLI - интерпретатор
Python 2 vs Python 3
Python 2:• Старый стандарт, последний релиз
(2.7) вышел в 2010• Некоторые вещи сделаны не
оптимально / устарели
• Большинство программистов все еще используют 2.7
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 07
Python 3:• Современный стандарт, последний
релиз (3.6) вышел в декабре 2016• Некоторые библиотеки и решения
поддерживают только python 3.
Менеджер пакетов - PIP
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 08
• Обычно устанавливается вместе с Python
• Позволяет управлять подключаемыми сторонними
библиотеками
• Для изоляции сред разработки - vitrualenv
Числовые данные
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 09
Строковые данные
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 010
Списки
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 011
Цикл “for”
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 012
Цикл for и конструкция if / else
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 013
Словарь
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 014
Работа с файлами
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 015
Регулярные выражения
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 016
• Реализованы в Python в модуле re
• Универсальное средство для поиска текста
• Наиболее полезны совместно с другими инструментами
Модуль ipaddress
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 017
• Большой набор полезных функций для работы с IP
адресацией
• Поддерживает IPv4 и IPv6
Модуль subprocess
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 018
• Позволяет запускать параллельные процессы, и получать
информацию с их ввода/вывода
• Можно использовать для выполнения и получения
результата любых системных команд
Модуль OS
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 019
• Различные функции по доступу к системной информации
• os.getcwd – текущая директория
• os.walk – итерация по файлам внутри директории
• os.path - набор функций для работы с путями
• os.environ - набор функций для работы с переменными
окружения
Модуль Netmiko
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 020
• Является ”оберткой” для более общего модуля Paramiko,
реализующего работу по SSH
• Поддерживает набор сетевых устройств, полный список в
документации
Модуль Netmiko
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 021
• send_command - отправить одну команду
• send_config_set - отправить список команд
• send_config_from_file - отправить команды из файла (используетвнутри метод send_config_set)
• send_command_timing - отправить команду и подождать выводна основании таймера
• ssh.enable() - переход в режим enable
Модуль Jinja2
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 022
• Библиотека для работы с шаблонами
• Широко используется в web-разработке
• Применим для создания любых стандартизированных
текстовых файлов
Другие модули
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 023
• Openpyxl - Один из модулей для работы с документами Excel
• Requests – выполнение http запросов
• Threading/Multiprocessing
Ресурсы
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 024
• Python для сетевых инженеров
• Google python class
• Effective Python
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 025
Сообщество Технической поддержки Cisco
https://supportforums.cisco.com
http://russiansupportforum.cisco.com
email:[email protected]
#CiscoConnectRu#CiscoConnectRu
Спасибо за внимание!Оцените данную сессию в мобильном приложении конференции
© 2017 Cisco and/or its affiliates. All rights reserved.
Контакты:
Тел.: +7 495 9611410www.cisco.com
www.facebook.com/CiscoRu
www.vk.com/cisco
www.instagram.com/ciscoru
www.youtube.com/user/CiscoRussiaMedia