
Python玩转自动化运维
文章平均质量分 93
EthanYue1024
【Python玩转自动化运维】将编程与运维相结合,致力于传统运维向自动化运维的转型与发展
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python 常用 SSH 库的本质剖析
你是否在日常工作中遇到一下困惑:SSH 连接中的 PTY 是什么意思,与 TTY 有什么关系?Python 中使用 SSH 连接后,执行命令到底是使用 invoke_session 还是 exec_command,它们有什么区别?为什么并发模式下使用 exec_command 会回显错乱?如何拿到执行命令的 exit_status code?为什么执行命令时设置 get_pty = True,拿到的 exit_status 始终是 0这篇文章将会对上述的问题做一次完整的梳理。原创 2024-09-30 12:46:15 · 1288 阅读 · 0 评论 -
【自动化运维新手村】Flask-ORM关联查询
到目前为止,Flask集成ORM扩展到基本操作,已经算是接近尾声了,上一章节已经将单表数据的增删改查,做了十分详细的讲解,并且从Flask应用的日志中可以看出每个ORM操作对应的数据库SQL语句,能够更为清晰的看到程序模型到数据库之间的映射关系,让大家可以对MySQL有一个基本的了解。但几乎所有的后端应用都不可能只存在单独的一张数据表,大多数情况下都是存在多张数据表,并且这些数据表之间都存在关联,可能是一对一,或者一对多,等等。那么今天这一章节我们就着重讲解一下如何使用Flask-SQLAlchemy进原创 2022-03-27 16:49:10 · 3108 阅读 · 0 评论 -
【自动化运维新手村】Flask-权限校验
上一章节,我们主要对Web应用的用户认证做了详细的讲解,包括使用Flask实现用户注册,登录,并通过Session机制实现用户保持登录。那么在了解了用户认证之后,这一章节我们就着重介绍一下权限校验的原理以及实现方式。原创 2022-02-20 19:22:54 · 2334 阅读 · 1 评论 -
【自动化运维新手村】Flask部署上线
在自动化运维新手村中,我们已经依次讲解了Python的基础知识,函数与面向对象设计,使用了Flask框架作为Web应用的后端,与此同时还学习了数据库的相关知识,最终完成了一个以Flask为后端的资产管理服务。到目前为止,如果大家可以充分理解并灵活应用所讲的知识点,就已经可以按照自己的实际需求,做出一些基本的运维工具,但如果需要对外提供运维能力,还需要最后一步,那就是将Flask后端部署上线。原创 2022-03-27 16:50:49 · 2335 阅读 · 2 评论 -
【自动化运维新手村】Flask-2认证
在Flask专题的上一章节中,主要对Web应用的路由,异常处理和接口返回做了更进一步的讲解,虽然代码更健壮,但离在生产环境中使用还差了最关键的一步,那就是认证。认证在任何存在交互的场景中都是十分重要的环节。原创 2022-02-13 23:28:36 · 1005 阅读 · 1 评论 -
【自动化运维新手村】Flask-ORM框架-CRUD
上一章节,已经是正式在我们的后端应用中引入了MySQL数据库,并使用了Flask-SQLAlchemy作为ORM框架,来更方便的对数据库进行读写,增删改查是数据库的基本操作,今天这一章节就在对原先的后端做兼容MySQL改造的同时,也对“删、改、查”做一个详细的讲解。原创 2022-03-13 23:01:09 · 3878 阅读 · 2 评论 -
【自动化运维新手村】Flask-ORM
在上一章节【删库跑路第一步】中,我们已经了解了基本的数据库的概念,以及常用的数据表操作,并且我希望大家意识到,如果在后端应用不必须依赖数据库时,最好不要引入;但如果引入,那么就最好在使用之前了解一些数据库的基础知识,比如:从手动写SQL语句建数据表开始。在建好表后,今天这一章节,就开始讲解如何在后端应用中集成对数据库操作的能力。原创 2022-03-06 20:44:02 · 900 阅读 · 0 评论 -
【自动化运维新手村】删库跑路第一步
一键式的操作存在的意义,一是可以让已经完全熟悉原理的人节省重复的步骤,提高效率;二是可以让完全不懂的人不必在意底层实现进行无脑操作。但对于还处在正在学习自动化运维阶段的朋友来说,一定要有一个想法就是坚决不做第二种人。我一直提倡的理念最小上手范围,是指学习并运用有限但必要的知识来解决面对的场景,并不提倡在知识匮乏的情况下,通过一些奇技淫巧来一步登天。原创 2022-03-06 20:41:39 · 875 阅读 · 0 评论 -
【自动化运维番外篇】Python装饰器-进阶
通过上一章节闭包函数和简单装饰器的讲解,大家应该能够理解Python中的装饰器的运行原理是怎样的了,这一节就需要讲解一些进阶的知识,并将功能进行泛化,使其更具有通用性和严谨性。原创 2022-02-02 10:56:44 · 1443 阅读 · 0 评论 -
【自动化运维番外篇】Python装饰器
Python中同样也有很多语法糖,比如:**列表推导式,with上下文管理器,装饰器**等。其中装饰器是一个十分重要的特性,并且在之前面向对象章节中类的讲解,以及Flask框架的讲解中,也都或多或少使用过装饰器。今天这一章节,就来着重给大家讲解一个Python中的装饰器。原创 2022-02-02 10:54:05 · 1453 阅读 · 0 评论 -
【自动化运维新手村】番外-迭代器生成器
在之前的文章中我们提到过很多次的**可迭代对象**,并且很多面试中对于Python几乎必问的一个问题是:“请解释一下迭代器和生成器?”在Python中对象是否可迭代是一个十分重要的特性,今天我们就一次性的给大家讲解清楚究竟什么是**可迭代**,如何判断一个对象是否的可迭代的,什么又是**迭代器**,以及什么是**生成器**?原创 2022-01-22 15:16:24 · 773 阅读 · 0 评论 -
【自动化运维新手村】番外-IDE调试
上一篇番外中我们讲解了调试对于编程的重要性,并且介绍了Python中的pdb工具包,可以帮我们在没有IDE的环境下进行代码调试。但pdb终归是基于命令行交互式的,对于刚接触编程的朋友来说并不友好,并且在日常开发中,如果代码架构略微复杂,或者是引用的第三方库,不太了解具体的实现细节,那么pdb就不是最合适的调试方法了。那么今天我们就讲解一下最容易上手且很直观的IDE调试方法原创 2022-01-10 21:39:08 · 888 阅读 · 1 评论 -
【自动化运维新手村】初见Flask
当然,讲解的风格仍然是延续我们一直以来秉承的思想,那就是**从场景出发,先学习迫切需要用到的那部分知识,用不到的先不学**,最近还新造了一个词叫**最小化上手范围(Minimize Range)**,就是指想要完成一个需求所需要的最小化的知识范围。原创 2022-01-16 14:08:03 · 781 阅读 · 0 评论 -
【自动化运维新手村】Web框架序篇
首先我们需要先想清楚,为什么一定要学Web框架,有的朋友会觉得运维中最常用的应该是脚本,我只要脚本写的溜,能提高工作效率就好了。但如果有一天你的同事也遇到了相同的场景,那你的脚本要直接拷贝给他吗?如果有一天你通过脚本解决的是一个需要跨部门合作的痛点,那你是不是也可以把执行脚本的权限交给对方呢?答案当然是否定的,自动化运维最大的意义是通过自动化来将从工作效率实现从量变到质变的提升,那如何提升呢,我觉得Web应用就是一个很好的方式。原创 2022-01-13 23:07:48 · 500 阅读 · 0 评论 -
【自动化运维新手村】番外篇-调试
这是自动化运维新手村里最重要的一篇番外,没有之一。调试应该是所有编程语言中都需要用到的一种技巧,不管对于编程新手还是资深码农,调试都会是不可或缺的技能。刚接触编程的朋友经常会的困惑就是,已经了解某段代码的功能逻辑,但却对于逻辑具体的实现却充满疑惑,其实这是十分正常的现象。原创 2022-01-02 23:18:45 · 770 阅读 · 0 评论 -
【自动化运维番外篇】数据结构-哈希表与字典
这篇我们就来着重讲解一下数据结构中的哈希表与Python中的字典类型,并且告诉大家为什么字典是无序的,顺带破除一下网上大部分博客对于这一知识点的误解。原创 2021-12-16 00:51:21 · 3303 阅读 · 1 评论 -
【自动化运维新手村】Python基础-5
经过我们一起不懈的努力,终于一行一行的读完了CMDBv1.0.py的源代码,理解了对资产信息增删改查的详细逻辑,并且在阅读源码的过程中逐步培养起良好的编程规范和编程思维,这对于大家以会起到至关重要的作用。那么我们到此还没有结束,下一节我们会将CMDBv1.0利用面向对象的思想再次重构为CMDBv1.5,到时候将会是从函数式编程到面向对象编程的一个大的飞跃,敬请期待。原创 2021-12-29 23:56:15 · 543 阅读 · 0 评论 -
【自动化运维新手村】Python基础-4
虽然很多读者朋友是刚接触编程,但我们仍然从编程思维的养成和源码的阅读上,向大家普及一些更深入的东西,比如重构的原则,和多层嵌套的优雅处理等,所以我的本意是能够将这些知识在刚开始学习的时候就耳濡目染的让大家去了解,而不是说新手就应该死记硬背一些基础的方法和规范,这对于学习来说反而会适得其反,所以希望大家能在阅读文章的同时仔细去感受体会原创 2021-12-14 23:15:47 · 1050 阅读 · 0 评论 -
【自动化运维新手村】番外篇-Python参数那些事儿
这是自动化运维新手村中除了数据结构番外篇之外的另一个番外,这个番外主要给大家详细讲解一下Python中的一些特殊技巧,这些技巧在平时写代码的过程中会极大的帮助我们快速的解决问题,所以你想成为一个真正的Pythoner,想让自己的代码更Pythonic,一定要仔细阅读这个番外!原创 2021-12-10 23:14:06 · 1144 阅读 · 0 评论 -
【自动化运维新手村】Python基础-3
根据我上面五个步骤的讲解,大家可以再次发现,在编程的过程中,前一到四步可以说是最终代码成型的地基,并且上面的四个步骤在进行的过程中并不需要我们真正掌握哪一门具体的编程语言,而是需要我们充分利用编程的思想,将要解决的问题逐步拆解;第五步才是真正需要利用代码实现,而且我们选择的Python是较为容易上手的语言,这也是对刚接触编程的朋友来说比较友好的,最后希望大家能够在跟随我一步一步学习的过程中培养起良好的编程思想。原创 2021-12-08 00:11:46 · 173 阅读 · 0 评论 -
【自动化运维新手村】Python基础-2
Python作为最易上手的解释型语言,其社区生态和包含的各种第三方库数不胜数,而且任何一门语言其内置的规范和方法对于初学者来说都无法穷尽,任何在没有使用场景的情况下进行填鸭式的灌输内容,都是”耍流氓“原创 2021-12-07 00:18:50 · 230 阅读 · 0 评论 -
【自动化运维新手村】初见Python
Python作为我们该系列构建自动化运维体系的主要编程语言,首要任务就是先掌握Python的基本数据结构,但对于还没有上手Python的读者来说,如何能避免网络上大片枯燥的基本数据结构的介绍快速上手Python呢?原创 2021-12-04 01:14:03 · 1417 阅读 · 0 评论 -
【Python自动化运维之路】路径盘点
其实大家更多的关心的都是,看完作者的文章能学到什么,可以做什么东西出来,或者说目前正遇到一个实际的需求,需要点一下相关的技能树,那么我这里就整体介绍一下大家能从我这里学到什么。路径的选择首先是对于正在从事运维工作,但工作中遇到了一些自动化的需求的读者朋友,那么这里作者并不提倡大家去构建整个的自动化运维体系,一个是没有必要,另一个是这也可能会消耗相当大的精力,所以我们就暂时只点与自己实际工作相关的技能树即可。但是有一部分读者朋友想寻求职业发展的突破,计划从传统运维转型为自动化运维,或者一开始.原创 2021-11-29 22:54:56 · 1353 阅读 · 0 评论 -
【Python玩转自动化运维】Python-基础1
我们只需要一步一步将这过程中阻碍我们前进的知识掌握即可,具体的细节可以在后续的深入过程中去慢慢了解。这也是为什么很多学生不愿意听老师讲课的原因,因为他并不知道我这节课学的知识点有什么用,只是机械的接受老师的灌输,所以好的学习方法一定是自顶向下的,希望读者朋友们能体会到其真正的内涵。原创 2021-11-29 22:45:01 · 1245 阅读 · 1 评论