- ISBN:9787115523662
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:24cm
- 页数:11,242页
- 出版时间:2020-01-01
- 条形码:9787115523662 ; 978-7-115-52366-2
本书特色
1.从基础到高级编程,全面系统地介绍Python脚本在系统管理中的作用。 2.市场上少见的介绍将Python脚本应用于系统管理的图书。 3.本书附有配套资源,帮助读者学以致用,将所学应用到真实场景中。随着时间的推移,Python不断发展并扩展了其与IT操作相关的功能。Python简单易学,但具有功能强大的库,可用于 编写脚本以解决实际问题并自动执行管理员的日常活动。本书的目的是通过完成一系列项目,帮助读者掌握在项目中使用Python脚本的方法。 本书首先介绍Python的安装,并讲解编程基础知识。然后,本书将侧重于解析整个开发过程,从配置到准备再到构建 不同的工具,包括IT管理员的日常活动(文本处理、正则表达式、文件存档和加密)、网络管理(套接字编程、电子邮 件处理、使用Telnet/SSH远程控制设备以及SNMP/DHCP等协议)、创建图形用户界面、网站处理(Apache日志 文件处理、SOAP和REST API通信、Web抓取),以及数据库管理(MySQL和相似数据库数据管理、数据分析和报告)。学完本书,读者将能够使用Python功能构建强大的工具以解决具有挑战性的实际任务。 读者将学到以下内容: ■ 了解如何安装Python和调试Python脚本; ■ 了解和编写用于自动化测试和日常管理活动的脚本; ■ 了解如何编写用于文本处理、加密、解密和归档的脚本; ■ 处理PDF、Excel、CSV和文本文件,并生成报告; ■ 编写用于远程网络管理(包括处理电子邮件)的脚本; ■ 使用图形用户界面构建交互式工具; ■ 处理Apache日志文件,以及SOAP和REST API的通信; ■ 自动化数据库管理并执行统计分析。
内容简介
本书共18章, 首先带领读者快速复习Python基础知识, 然后循序渐进地介绍了一些实用主题, 包括Python脚本的调试和分析、编写单元测试、系统管理、处理文件和数据、文件归档以及文本处理等。然后介绍了网络编程、处理电子邮件、远程控制主机、创建图形用户界面、处理日志文件、编写网络爬虫、数据收集和可视化以及操作数据库等更加高阶的主题。
目录
1.1 技术要求 2
1.2 为什么选择Python 2
1.3 Python语法的优势 2
1.4 安装Python 2
1.4.1 在Linux上安装Python 2
1.4.2 在Windows上安装Python 3
1.4.3 在Mac上安装Python 3
1.4.4 安装Jupyter Notebook 3
1.4.5 安装并使用虚拟环境 4
1.4.6 安装Geany和PyCharm 4
1.5 Python解释器 5
1.5.1 Python和Bash有何区别 5
1.5.2 启动交互式控制台 5
1.5.3 使用Python交互式控制台编写脚本 5
1.5.4 多行模式 6
1.5.5 通过Python解释器导入模块 7
1.5.6 退出Python控制台 8
1.5.7 缩进和标签 8
1.5.8 变量 9
1.5.9 数值 11
1.6 字符串 13
1.6.1 连接(+)和重复(*) 14
1.6.2 字符串切片 14
1.6.3 访问字符串中的值 15
1.6.4 更新字符串 15
1.6.5 转义字符 15
1.6.6 字符串的特殊运算符 16
1.6.7 字符串格式化运算符 16
1.6.8 Python中的三引号 17
1.6.9 字符串是不可变的 18
1.7 理解列表 18
1.7.1 访问列表中的值 19
1.7.2 更新列表 19
1.7.3 删除列表元素 20
1.7.4 列表的基本操作 20
1.7.5 列表运算符 21
1.7.6 索引、切片和矩阵 21
1.8 元组 21
1.8.1 访问元组的值 22
1.8.2 更新元组 23
1.8.3 删除元组中的元素 23
1.8.4 元组的基本操作 23
1.8.5 索引、切片和矩阵 24
1.8.6 max()函数和min()函数 24
1.9 集合 25
1.10 字典 26
1.11 解析命令行参数 27
1.11.1 Python中的命令行参数 27
1.11.2 sys.argv 27
1.12 判断语句 28
1.12.1 Python的if语句语法 28
1.12.2 Python的if…else语句语法 28
1.12.3 Python的if…elif…else语句语法 29
1.13 循环 30
1.13.1 for循环 30
1.13.2 range()函数 31
1.13.3 while循环 31
1.14 迭代器 32
1.15 生成器 33
1.16 函数 34
1.16.1 return语句 34
1.16.2 lambda函数 35
1.17 模块 35
1.18 总结 36
1.19 问题 37
第 2章 调试和分析Python脚本程序 38
2.1 什么是调试 38
2.2 错误处理(异常处理) 39
2.3 调试工具 41
2.3.1 pdb调试器 41
2.3.2 在解释器中运行 42
2.3.3 在命令行中运行 43
2.3.4 在Python脚本中使用 43
2.4 调试基本程序崩溃的方法 44
2.5 分析程序并计时 45
2.5.1 cProfile模块 45
2.5.2 timeit模块 46
2.6 使程序运行得更快 47
2.7 总结 47
2.8 问题 48
第3章 单元测试框架简介 49
3.1 什么是unittest 49
3.2 创建单元测试 50
3.3 单元测试中的常用方法 51
3.4 总结 53
3.5 问题 53
第4章 自动化常规管理活动 54
4.1 通过重定向(redirection)、管道(pipe)和文件3种方式接收输入 54
4.1.1 通过重定向接收输入 55
4.1.2 通过管道接收输入 55
4.1.3 通过文件接收输入 56
4.2 在运行时处理密码 57
4.3 执行外部命令并获取其输出 58
4.4 使用subprocess模块捕获输出 59
4.5 在运行时提示输入密码,并验证密码 60
4.6 读取配置文件 62
4.7 向脚本添加日志记录和警告代码 63
4.8 限制CPU和内存的使用量 65
4.9 启动网页浏览器 66
4.10 使用os模块处理目录和文件 67
4.10.1 创建目录与删除目录 67
4.10.2 检测文件系统的内容 68
4.11 进行备份(使用rsync) 68
4.12 总结 70
4.13 问题 70
第5章 处理文件、目录和数据 71
5.1 使用os模块处理目录 71
5.1.1 获取工作目录 72
5.1.2 更改目录 72
5.1.3 列出文件和目录 72
5.1.4 重命名目录 72
5.2 复制、移动、重命名和删除文件 73
5.2.1 复制文件 73
5.2.2 移动文件 74
5.2.3 重命名文件 74
5.2.4 删除文件 74
5.3 使用路径 75
5.4 比较数据 76
5.5 合并数据 78
5.6 用模式匹配文件和目录 78
5.7 元数据:数据的数据 79
5.8 压缩和解压 80
5.9 使用tarfile模块创建TAR文件 81
5.10 使用tarfile模块查看TAR文件的内容 81
5.11 总结 82
5.12 问题 82
第6章 文件归档、加密和解密 84
6.1 创建和解压归档文件 84
6.1.1 创建归档文件 84
6.1.2 解压归档文件 85
6.2 TAR归档文件 86
6.3 创建ZIP文件 89
6.4 文件加密与解密 91
6.5 总结 93
6.6 问题 93
第7章 文本处理和正则表达式 94
7.1 文本包装 94
7.1.1 wrap()函数 94
7.1.2 fill()函数 95
7.1.3 dedent()函数 96
7.1.4 indent()函数 97
7.1.5 shorten()函数 98
7.2 正则表达式 99
7.2.1 match()函数 101
7.2.2 search()函数 101
7.2.3 findall()函数 102
7.2.4 sub()函数 103
7.3 Unicode字符串 105
7.3.1 Unicode代码点 106
7.3.2 编码 107
7.3.3 解码 107
7.3.4 避免UnicodeDecodeError 107
7.4 总结 108
7.5 问题 108
第8章 文档和报告 110
8.1 标准输入和输出 110
8.2 字符串格式化 113
8.3 发送电子邮件 115
8.4 总结 118
8.5 问题 118
第9章 处理不同类型的文件 120
9.1 处理PDF文件 120
9.1.1 读取PDF文件并获取页数 121
9.1.2 提取文本 121
9.1.3 旋转PDF页面 122
9.2 处理Excel文件 123
9.2.1 使用xlrd模块 123
9.2.2 使用Pandas模块 124
9.2.3 使用openpyxl模块 126
9.3 处理CSV文件 129
9.3.1 读取CSV文件 129
9.3.2 写入CSV文件 130
9.4 处理文本文件 131
9.4.1 open()函数 131
9.4.2 close()函数 132
9.4.3 写入文本文件 132
9.4.4 读取文本文件 133
9.5 总结 134
9.6 问题 134
第 10章 网络基础—套接字编程 135
10.1 套接字 135
10.2 http程序包 137
10.2.1 http.client模块 138
10.2.2 http.server模块 140
10.3 ftplib模块 140
10.3.1 下载文件 141
10.3.2 使用getwelcome()获取欢迎信息 141
10.3.3 使用sendcmd()向服务器发送命令 142
10.4 urllib程序包 143
10.5 总结 144
10.6 问题 145
第 11章 使用Python脚本处理电子邮件 146
11.1 邮件消息格式 146
11.2 添加HTML和多媒体内容 147
11.3 POP3和IMAP服务器 150
11.3.1 使用poplib模块接收电子邮件 150
11.3.2 使用imaplib模块接收电子邮件 152
11.4 总结 153
11.5 问题 154
第 12章 通过Telnet和SSH远程控制主机 155
12.1 telnetlib模块 155
12.2 subprocess模块 158
12.3 使用fabric模块执行SSH 160
12.4 使用paramiko模块执行SSH 161
12.5 使用netmiko模块执行SSH 163
12.6 总结 165
12.7 问题 165
第 13章 创建图形用户界面 167
13.1 GUI简介 167
13.2 使用程序库创建基于GUI的应用程序 168
13.3 总结 170
13.4 问题 171
第 14章 使用Apache及其他类型的日志文件 172
14.1 安装并使用Apache Logs Viewer应用程序 172
14.2 解析复杂日志文件 174
14.3 使用异常机制的必要性 177
14.4 解析不同文件的技巧 178
14.5 错误日志 178
14.6 访问日志 179
14.7 解析其他日志文件 180
14.8 总结 182
14.9 问题 183
第 15章 SOAP和RESTful API通信 184
15.1 什么是SOAP 184
15.2 什么是RESTful API 185
15.3 处理JSON数据 187
15.4 总结 190
15.5 问题 190
第 16章 网络爬虫——从网站中提取有用的数据 192
16.1 什么是网络爬虫 192
16.2 数据提取 193
16.2.1 Requests库 193
16.2.2 BeautifulSoup库 193
16.3 从维基百科网站抓取信息 197
16.4 总结 198
16.5 问题 198
第 17章 统计信息的收集和报告 199
17.1 NumPy模块 199
17.1.1 使用数组和标量 202
17.1.2 数组索引 204
17.1.3 通用函数 207
17.2 Pandas模块 208
17.2.1 序列 209
17.2.2 数据帧 210
17.3 数据可视化 212
17.3.1 Matplotlib 212
17.3.2 Plotly 220
17.4 总结 226
17.5 问题 226
第 18章 MySQL和SQLite数据库管理 228
18.1 MySQL数据库管理 228
18.1.1 获取数据库版本号 231
18.1.2 创建表并插入数据 232
18.1.3 检索数据 233
18.1.4 更新数据 234
18.1.5 删除数据 235
18.2 SQLite数据库管理 235
18.2.1 连接数据库 236
18.2.2 创建表 237
18.2.3 插入数据 237
18.2.4 检索数据 238
18.2.5 更新数据 239
18.2.6 删除数据 240
18.3 总结 242
18.4 问题 242
作者简介
Ganesh Sanjiv Naik 是嵌入式Android、嵌入式Linux、物联网和ML相关产品开发的作者,顾问和企业培训师。他在IT领域拥有20多年的经验和项目成就。他曾担任印度空间研究组织、英特尔、通用电气、三星、摩托罗拉、槟城技能开发中心以及新加坡和印度的多家公司的企业培训师。他创办了一家名为Levana Technologies的公司,该公司与各组织合作进行咨询和培训活动。
-
AI绘画+AI摄影+AI短视频从入门到精通
¥45.5¥79.8 -
企业AI之旅
¥43.5¥79.0 -
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥12.8¥32.0 -
机器学习
¥59.4¥108.0 -
C Primer Plus 第6版 中文版
¥62.6¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
基于深度学习的人体行为识别算法研究
¥37.2¥62.0 -
粒子群算法在优化选取问题中的应用研究
¥40.8¥68.0 -
Web前端开发基础
¥36.5¥57.0 -
智能算法优化及其应用
¥49.0¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
SNS信息传播分析
¥48.3¥69.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥62.3¥89.0 -
HARMONYOS NEXT启程:零基础构建纯血鸿蒙应用
¥81.0¥108.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥67.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
生成式人工智能(AIGC)应用
¥71.1¥90.0 -
人工智能
¥29.4¥42.0