描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111578659
本书共分11章,每一章都可以单独成册。读者可以从头开始阅读,也可以选择自己感兴趣的章节阅读。需要强调的是,本书是一本实战类的书籍,因此,本书强调实践的重要性。很多工程师学习Python,学完就忘,忘了再学,循环往复,就是因为实践不充分导致的。本书包含了大量的实战案例,可以很好地作为Python的进阶教材,读者也可以举一反三,编写自己的管理程序。
目 录?Contents推荐序一推荐序二推荐序三前 言第1章 Python语言与Linux系统管理 11.1 Python语言有多流行 11.2 Python语言为什么流行 31.3 Python语言有什么缺点 41.4 Python语言的应用场景 41.5 为什么Python适合Linux系统管理 51.6 使用Python 2还是Python 3 6第2章 Python生态工具 92.1 Python内置小工具 92.1.1 1秒钟启动一个下载服务器 102.1.2 字符串转换为JSON 102.1.3 检查第三方库是否正确安装 112.2 pip高级用法 122.2.1 pip介绍 122.2.2 pip常用命令 122.2.3 加速pip安装的技巧 142.3 Python编辑器 152.3.1 编写Python的vim插件 152.3.2 Windows下Python编辑器PyCharm介绍 172.4 Python编程辅助工具 182.4.1 Python交互式编程 182.4.2 使用IPython交互式编程 202.4.3 jupyter的使用 292.5 Python调试器 312.5.1 标准库的pdb 322.5.2 开源的ipdb 342.6 Python代码规范检查 342.6.1 PEP 8编码规范介绍 342.6.2 使用pycodestyle检查代码规范 362.6.3 使用autopep8将代码格式化 372.7 Python工作环境管理 392.7.1 使用pyenv管理不同的Python版本 392.7.2 使用virtualenv管理不同的项目 422.8 本章总结 43第3章 打造命令行工具 443.1 与命令行相关的Python语言特性 443.1.1 使用sys.argv获取命令行参数 453.1.2 使用sys.stdin和fileinput读取标准输入 463.1.3 使用SystemExit异常打印错误信息 483.1.4 使用getpass库读取密码 493.2 使用ConfigParse解析配置文件 493.3 使用argparse解析命令行参数 523.3.1 ArgumentParse解析器 523.3.2 模仿MySQL客户端的命令行参数 543.4 使用logging记录日志 553.4.1 日志的作用 553.4.2 Python的logging模块 563.4.3 配置日志格式 563.5 与命令行相关的开源项目 593.5.1 使用click解析命令行参数 593.5.2 使用prompt_toolkit打造交互式命令行工具 613.6 本章总结 64第4章 文本处理 654.1 字符串常量 664.1.1 定义字符串 664.1.2 字符串是不可变的有序集合 684.1.3 字符串函数 714.1.4 案例:使用Python分析Apache的访问日志 794.1.5 字符串格式化 834.2 正则表达式 854.2.1 正则表达式语法 864.2.2 利用re库处理正则表达式 874.2.3 常用的re方法 904.2.4 案例:获取HTML页面中的所有超链接 944.3 字符集编码 944.3.1 编码历史 954.3.2 UTF-8编码 964.3.3 从字符集的问题说起 984.3.4 Python 2和Python 3中的Unicode 994.4 Jinja2模板 1014.4.1 模板介绍 1024.4.2 Jinja2语法入门 1024.4.3 Jinja2实战 1084.4.4 案例:使用Jinja2生成HTML表格和XML配置文件 1124.5 本章总结 116第5章 Linux系统管理 1175.1 文件读写 1185.1.1 Python内置的open函数 1185.1.2 避免文件句柄泄露 1195.1.3 常见的文件操作函数 1205.1.4 Python的文件是一个可迭代对象 1215.1.5 案例:将文件中所有单词的首字母变成大写 1225.2 文件与文件路径管理 1235.2.1 使用os.path进行路径和文件管理 1235.2.2 使用os模块管理文件和目录 1265.2.3 案例:打印常用的10条Linux命令 1285.3 查找文件 1295.3.1 使用fnmatch找到特定的文件 1295.3.2 使用glob找到特定的文件 1305.3.3 使用os.walk遍历目录树 1315.3.4 案例:找到目录下(或老)的十个文件 1325.4 高级文件处理接口shutil 1345.4.1 复制文件和文件夹 1355.4.2 文件和文件夹的移动与改名 1355.4.3 删除目录 1365.5 文件内容管理 1365.5.1 目录和文件比较 1375.5.2 MD5校验和比较 1395.5.3 案例:找到目录下的重复文件 1395.6 使用Python管理压缩包 1415.6.1 使用tarfile库读取与创建tar包 1415.6.2 使用tarfile库读取与创建压缩包 1425.6.3 案例:备份指定文件到压缩包中 1425.6.4 使用zipfile库创建和读取zip压缩包 1435.6.5 案例:暴力破解zip压缩包的密码 1445.6.6 使用shutil创建和读取压缩包 1465.7 Python中执行外部命令 1485.7.1 subprocess模块简介 1495.7.2 subprocess模块的便利函数 1495.7.3 subprocess模块的Popen类 1515.8 综合案例:使用Python部署MongoDB 1525.9 本章总结 155第6章 使用Python监控Linux系统 1566.1 Python编写的监控工具 1576.1.1 多功能系统资源统计工具dstat 1576.1.2 交互式监控工具glances 1606.2 使用Python打造自己的监控工具 1636.2.1 Linux系统的/proc目录介绍 1636.2.2 proc目录下常用文件介绍 1646.2.3 进程目录下常用文件介绍 1656.2.4 利用/proc目录找到被删除的文件 1666.2.5 使用shell脚本监控Linux 1686.2.6 使用Python监控Linux 1706
Preface?前 言为何写作本书我次接触Python是在2008年的时候,当时还是一名大学生。有一位非常优秀的学长通过《黑客与画家》这本书了解到Python语言,并且认为Python将在未来几年迅猛发展,在各个应用领域都会大有可为。因此,在国内还没有广泛使用Python语言时,这位学长便推荐我学习Python。现在的Python语言,流行程度已不用我多言,这一方面证实了Paul Graham(《黑客与画家》的作者)的远见卓识,同时,也反映出这位优秀学长的聪明睿智。从这件事中,我深切地感受到要多与人交流,尤其是要与那些比自己优秀的人交流。正是出于和大家交流的想法,我将这些年的Python使用心得,以及在网易云开发与运维的经验汇集成一本书,也就是你现在看到的这本书。 如果大家身处互联网,一定能够切身地感受到Python语言的流行程度。Python语言由于其简单易学、语法优美、应用领域广泛等诸多优点,俘获了大批的粉丝。通过Google搜索指数可以看到,Python语言在近两年出现了爆发式的增长,其在编程语言排行榜上的排名,从第8名一跃上升到第4名,并且有继续上升的趋势。越来越多的公司高薪招聘Python工程师,越来越多的世界名校开始讲授Python语言,越来越多的项目使用Python语言进行开发。因此,从各个角度来说,Python都将大有可为,学习Python将是一个正确的选择。 伴随着云计算的高速发展,Python在系统管理领域也表现不俗。著名的云计算平台OpenStack就是使用Python语言开发的,各大云计算厂商也选择使用Python开发自己的内部系统。并且,由于云计算厂商托管的都是大规模服务器,为了提高运维效率、节约人力成本、快速响应需求,各大云计算厂商都不约而同地使用Python进行大规模服务器的部署和运维。 Python在Linux系统管理中,已经担任了非常重要的角色。但是,讲解Python在Linux系统管理中应用的书籍却寥寥无几,更多都是专注于Python语言、Python爬虫和Python Web开发。难得的几本也仅仅是介绍Python相关工具的使用而已。由于互联网业务的复杂性和多样性,这远不能满足互联网公司的需求,公司更希望工程师能够灵活地使用Python,根据业务需求开发自己的工具和系统。因此,本书不仅会介绍Python语言编写的系统管理工具,还会讲解如何使用Python构建自己的系统管理工具。 主要内容特色本书介绍了Python语言在Linux系统管理中的应用,包括编写Python脚本管理Linux系统,使用Python编写的自动化工具管理Linux系统,以及使用Python打造专属的管理工具等。 本书以Linux系统管理为线索,以Python语言为载体,介绍了大量Python语言的应用案例。通过学习本书,不但可以使用Python语言管理Linux系统,也为Python解决其他领域问题打下了坚实的基础。书中每一章都会解决某一类问题,并且提供了问题的答案。如Python管理Linux文件和目录,使用Python监控Linux系统,使用Python编写自动化工具,使用Python进行自动化运维等。 通过学习本书,你可以: 掌握Python生态工具,提高自己的开发效率;学会如何使用Python构建自己的命令行工具;用Python编写可维护性更强的文本处理程序;全方位监控Linux系统;使用Python自动化部署应用;管理操作系统配置;使用Python打造MySQL专家系统;通过Python发送电子邮件。 本书读者对象本书不是一本讲解Python编程语言的书籍,也不是教授如何使用Python运维工具的书籍,而是一本讲解Python在Linux系统管理中应用的实战书籍。如果你还没学过Python编程语言,建议先学习Python语言以后,再来阅读本书。如果你从来没有使用过Linux,书中部分章节可能会让你感到困惑,不过依然有很多章节可以参考。因此,想要更好地学习本书内容,读者需要具备以下条件: Python语言基础知识;Linux使用经验;了解SSH的使用。 本书虽然主要讲解Python在Linux系统管理中的应用,但是,书中很多例子都具有更加广泛的应用场景。本书的特色是提供了大量的实战案例,无论是刚学完Python语言,正在寻找Python实战案例的读者,还是想要学习Python在Linux系统管理中如何应用的读者,都能从中受益。 综上所述,本书适合以下几类读者: 使用Python语言的运维工程师;想要提高Python技能的开发工程师;想要了解Python在互联网应用的在校学生;所有对Python实战感兴趣的读者。 如何阅读本书本书共分11章,每一章都可以单独成册。你可以从头开始阅读,也可以选择自己感兴趣的章节阅读。 第1章介绍了Python语言的优缺点和Python在Linux系统管理领域的应用,这一章主要回答“为什么学习Python”这个问题。 第2章介绍了多个Python生态工具。充分利用这些工具,不但可以有效提高工作效率,还能形成统一的代码风格。此外,本章还会介绍如何解决Python中的环境依赖问题,包括如何在一台服务器上使用不同的Python版本,如何对不同的项目安装不同的依赖而不相互影响。相信通过学习本章介绍的工具,能够帮助你解决在学习Python过程中遇到的环境问题。 第3~7章主要讲解使用Python编写脚本管理Linux,包括如何使用Python构建命令行工具、
评论
还没有评论。