第1章 搭建Python环境
1.1 Python简介
1.1.1 Python版本
1.1.2 安装Python
1.2 安装PyCharm IDE
1.3 PyCharm的高级功能
1.3.1 调试代码
1.3.2 重构代码
1.3.3 从GUI安装包
1.4 小结
第2章 常用的自动化库
2.1 Python包
2.2 常用Python库
2.2.1 与网络相关的Python库
2.2.2 与系统和云相关的Python库
2.3 查看模块源代码
2.4 小结
第3章 搭建网络实验室环境
3.1 技术要求
3.2 需要自动化网络的时间和原因
3.3 自动化的两种方式——屏幕抓取与API
3.4 使用Python进行网络自动化的原因
3.5 网络自动化的未来
3.6 搭建网络实验室
3.7 准备工作——安装EVE-NG
3.7.1 在VMware Workstation上安装
3.7.2 通过VMware ESXi安装
3.7.3 通过Red Hat KVM安装
3.7.4 访问EVE-NG
3.7.5 安装EVE-NG客户端工具包
3.7.6 在EVE-NG中加载网络镜像
3.8 创建企业网络拓扑
3.8.1 添加新节点
3.8.2 连接节点
3.9 小结
第4章 使用Python管理网络设备
4.1 技术要求
4.1.1 Python和SSH
4.1.2 Paramiko模块
4.1.3 netmiko模块
4.2 在Python中使用Telnet协议
4.3 使用netaddr处理IP地址和网络
4.3.1 安装netaddr
4.3.2 使用netaddr的方法
4.4 简单的用例
4.4.1 备份设备配置
4.4.2 创建访问终端
4.4.3 从Excel工作表中读取数据
4.4.4 其他用例
4.5 小结
第5章 从网络设备中提取数据
5.1 技术要求
5.2 解释器
5.3 正则表达式
5.4 使用CiscoConfParse库校验配置
5.4.1 CiscoConfParse库
5.4.2 支持的供应商
5.4.3 安装CiscoConfParse库
5.4.4 使用CiscoConfParse库
5.5 使用Matplotlib库可视化返回的数据
5.5.1 安装Matplotlib库
5.5.2 使用Matplotlib库
5.5.3 使用Matplotlib库可视化SNMP
5.6 小结
第6章 使用Python和Jinja2配置生成器
6.1 YAML简介
6.2 使用Jinja2建立配置模板
6.2.1 从文件系统中读取模板
6.2.2 在Jinja2中使用循环和条件
6.3 小结
第7章 并行执行Python脚本
7.1 Python脚本在计算机中运行的方式
7.2 multiprocessing库
7.2.1 开始使用multiprocessing库