![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
eternals fiere
热爱运维的靓仔
展开
-
自动化运维与python项目实战:Ansible自动化任务
目录自动化任务执行的意义1.什么是自动化执行任务?2.自动化执行的意义3. 自动化任务执行的应用Ansible安装与基础1. 什么是Ansible?2.Ansible的特点3. Ansible的安装4. Ansible的配置文件4.1 Ansible配置文件位置的设置4.2Ansible配置文件4.3Ansible主机清单配置详解Ansible ad-hoc模式1. 什么是ad-hoc模式?2. ad-hoc模式使用场景3.ad-h...原创 2020-08-02 15:25:12 · 875 阅读 · 0 评论 -
自动化运维与python项目实战: CMDB自动化资产扫描(2)路由配置、视图函数
资产管理探测流程存活探测: 获取局域网内存活的IP列表 主机探测: 获取系统版本(SN、版本、MAC地址) 主机关系探测: 识别宿主主机和虚拟机的关系 网络设备的探测: 探测网络设备信息(SN、设备名等),使用snmp协议 其他设备的探测:主机存活探测模块和工具Nmap探测工具Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。是一款用于网络发现和安全审计的网络安全工具。主机发现 - 识别网络上的主机。例如,列出响应TCP和/..原创 2020-07-31 23:22:21 · 363 阅读 · 0 评论 -
自动化运维与python项目实战: CMDB自动化资产扫描(1)项目简介、环境搭建、模型配置、admin管理
项目简介 本项目通过KVM虚拟化搭建Linux系统集群,使用 Ansible实现Linux集群下的批量部署与自动化管理,实现Web形式的自动化运维系统,集中批量控制服务器, 最终实现能支撑1000台实例的环境提供管理和自动化任务, 提高运维工程师的工作质量和效率。 项目基于HTTP实现自动化任务接受和响应接口设计,基于MySQL用作的关系型数据存取, 基于Redis的任务锁机制和消息队列, 基于MongoDB的事件日志记录, 最终实现邮件通知功能、敏感数据加密功能、日志事件记录功能。...原创 2020-07-31 00:13:39 · 649 阅读 · 1 评论 -
自动化运维与python项目实战: Linux服务器主机监控脚本(2)用difflib增添文件差异性对比项目
difflib的使用difflib简介difflib为python的标准库模块,无需安装。用于对比文本之间的差异。并且支持输出可读性比较强 的HTML文档,类似Linux系统的diff 命令。应用场景: 代码和配置文件差异对比。 准备工作: 1. 两个不同时间备份的Nginx配置文件 2. Pycharm集成化编程工具配置文件内容差异对比的实现实现代码及详解:import difflib# 1. 需要分析两个配置文件的...原创 2020-07-27 16:29:05 · 259 阅读 · 0 评论 -
自动化运维与python项目实战: Linux服务器主机监控脚本(1)项目雏形实现
目录预备知识1.安装系统性能信息模块psutil2.需要获取的系统性能信息3.系统进程管理方法项目实战: Linux服务器主机监控脚本1.创建项目与子应用2.路由设置、视图函数与模板的编写,实现基于psutil模块的系统信息监控3.实现基于psutil模块监控服务器的磁盘信息4.实现基于psutil模块监控用户登录预备知识1.安装系统性能信息模块psutil psutil(python system and process utilitie...原创 2020-07-25 23:00:18 · 862 阅读 · 1 评论 -
python中的Django框架(4)项目流程详解(生命周期)
流程中的个体解释wsgi : 封装请求后交给后端的web框架( Flask、Django ),将响应的内容发送给浏览器。请求中间件: 对请求进行校验或在请求对象中添加其他相关数据,例如: csrf、request.session 。路由匹配: 根据浏览器发送的不同url 去匹配不同的视图函数。视图函数: 在视图函数中进行业务逻辑的处理,可能涉及到: ORM、Templates 。响应中间件: 对响应的数据进行处理。...原创 2020-07-24 15:59:00 · 368 阅读 · 0 评论 -
python中的Django框架(3)(Django框架创建图书管理系统项目的前台管理)
第一步: URLconf 路由管理 在 Django 中,定义 URLconf 包括正则表达式、视图两部分 。 Django 使用正则表达式匹配请求的URL,一旦匹配成功,则调用应用的视图 。 注意:只匹配路径部分,即除去域名、参数后的字符串 。 在主配置文件中添加子配置文件,使主 urlconf 配置连接到子模块的 urlconf 配置文件 。 bookApp 子应用的子配置文件bookApp/urls.py及其详解如下:fromdjango.contrib import..原创 2020-07-24 15:01:42 · 261 阅读 · 0 评论 -
python中的Django框架(2)(图书管理系统admin后台管理)
启用后台Admin 站点管理 站点分为“内容发布(后台管理)”和“公共访问(前台管理)”两部分“内容发布”的部分负责添加、修改、删除内容,开发这些重复的功能是一件单调乏味、缺乏创造力的工作。因此, Django 会根据定义的模型类完全自动地生成管理模块Django 框架中有一个非常强大的应用功能: 自动管理界面。 常被Web平台管理者使用,去管理整个Web平台。 默认情况下,在settings.py 配置文件中INSTALLED_APPS 包含以下应用程序,为了后续的...原创 2020-07-24 12:02:28 · 522 阅读 · 0 评论 -
python中的Django框架(1)(简介+后台管理)
1.Django的介绍1) Django 框架介绍Django 是一个高级的Python Web框架,它鼓励快速开发和清洁,务实的设计。由经验丰富的开发人员构建,它负责Web开发的许多麻烦,因此您可以专注于编写应用程序,而无需重新创建轮子。免费的和开源的。被官方称之为完美主义者的Web框架。官方网址:https://www.djangoproject.com/2)Django框架特点2.Django的安装pip3 install django==3 ...原创 2020-07-22 15:03:29 · 729 阅读 · 0 评论 -
python中的冒泡排序与插入排序
1.冒泡排序 冒泡排序顾名思义就是整个过程就像气泡一样往上升,单向冒泡排序的基本思想是(假设由小到大排序):对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换其位置,进行一轮比较和换位后,n个记录中最大记录将位于第n位;然后对前(n-1)个几轮进行第二次比较;重复该过程指导进行比较的记录剩下一个为止。def bubble_sort(lists): count = len(lists) for i in range(0,...原创 2020-07-21 16:46:10 · 208 阅读 · 0 评论 -
python中pycharm的安装与使用(巨详细)
tar xf pycharm-professional-2020.1.3.tar.gz -C ~cd pycharm-2020.1.3/cd bin/./pycharm.sh 安装完成,开始设置原创 2020-07-21 11:39:27 · 199 阅读 · 0 评论 -
python中的对象关系映射SQLAalchemy
目录1.ORM2.sqlalchemy3.基本操作4.代码实现1.ORMORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。2.sqlalchemySQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射 (ORM)工具,为高效和高性能的数据库访原创 2020-07-21 11:07:06 · 283 阅读 · 0 评论 -
python中的关系型数据库mysql
1.mysql简介 数据库存储引擎是数据库底层软件组织,进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能, MySQL的核心就是存储引擎。 MySQL查询存储引擎SQL语句:SHOW ENGINES 2.python的数据库编程#pymysql的安装:pip3 install pymysql -i https://pypi.douban....原创 2020-07-20 17:22:38 · 214 阅读 · 0 评论 -
python中用类和面向对象的方法去实现数据结构中的栈和队列
1.栈的封装代码实现:# 栈: 先进后出 [“栈底”.......“栈顶”]# pop(出栈),push(入栈),len(获取栈的长度),is_empty(判断栈是否为空),top(栈顶)class Stack(object): def __init__(self): self.stack = [] def is_empty(self): return self.stack == [] def push(self,item):原创 2020-07-20 15:49:51 · 408 阅读 · 0 评论 -
python中的类和对象、封装特性、继承、私有属性与私有方法
1.类和对象与封装特性1.类(Class)是现实或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。对象(Object)是具有类类型的变量。类和对象是面向对象编程技术中的最基本的概念。类(Class)是是创建实例的模板对象(Object)是一个一个具体的实例2.封装:顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容。所以,在使用面向对象的封装特性时,需要:1). 将内容封装到某处2). 从某处调用被封装的内容 1). 通过对...原创 2020-07-20 15:11:04 · 192 阅读 · 0 评论 -
python中的生成式、生成器、闭包、装饰器、异常处理机制
1.生成式用来快速生成指定模式的工具1) 列表生成式[] #eg1:已知:x=1..10,求y=2x+8,并将求出的所有y值存储到列表中result = []for x in range(1,11): y = 2*x+8 result.append(y)print(result) #eg2:x=2,4,6,8,10,求y#method1:result = [ 2*x+8 for x in range(2,11,2)]print(result)原创 2020-07-20 11:45:04 · 148 阅读 · 0 评论 -
python中文件的读写
1.只写w:只写,会清空文件原有的内容,文件不存在则创建文件在文件file.txt 中写入hello python hello zxnfilename = "file.txt"#1.打开文件f = open(filename,'w')#2.对文件操作f.write("hello python hello zxn")#3.关闭文件f.close()在文件file.txt 中写入hello ljj hello zxn 之前的内容会被覆盖 filename = "file.txt"原创 2020-07-19 23:12:29 · 87 阅读 · 0 评论 -
python中的匿名函数与递归函数
1.匿名函数匿名函数:无需使用def来命名的函数 用到关键字lambda#求最大值的匿名函数max_num = lambda num1 , num2 : num1 if num1 > num2 else num2#求和sum_num = lambda num1 , num2: num1+num2#多项和sum_many_num = lambda *args:sum(args)result = max_num(11,28)result1 = sum_num(11,28)原创 2020-07-19 22:29:34 · 136 阅读 · 0 评论 -
python中的函数(定义、调用、形参、实参、必选参数、默认参数、可变参数,关键字参数)
1.函数的定义与调用1.定义函数#定义最大值函数def max_num(num1:int,num2:int)->int: #此处的num1、num2为形参 #调用函数函数名(形参),调用函数时的参数,实参。一般实参要和形参一一对应 #形参是形式参数,可以任意更改 max = num1 if num1 > num2 else num2 return max#print(help(max_num))#创建一个空函数de原创 2020-07-19 22:04:27 · 819 阅读 · 0 评论 -
python中的集合与字典
1.集合的定义集合(set)是一个无序的不重复元素序列,多应用于去重。案例:1) 集合案例>>> s={1,4,4,6,6,7,8}>>> print(s,type(s)){1, 4, 6, 7, 8} <class 'set'>2) 定义空集合>>> s = {}>>> type(s)<class 'dict'> #错误方法:s = {} , 字典不是集合&g原创 2020-07-18 23:36:51 · 243 阅读 · 0 评论 -
python中的列表(List)定义、创建、特性、查看
1.python中列表的定义数组:存储同一种数据类型的集和。列表(打了激素的数组): 可以存储任意数据类型的集和,是可变数据类型(可以增删改)。 2. python中列表的创建>>> sth=[1,7,"ssb","lbj"]>>> print (sth,type(sth))[1, 7, 'ssb', 'lbj'] <class 'list'>3. python中列表的特性1..原创 2020-07-18 21:50:47 · 989 阅读 · 0 评论 -
python中的break语句和continue语句
1.break语句break语句用来终止循环语句 ,即循环条件没False条件或者序列还没被完全递归完,也会停止执行循环语句。for i in range(10): if i==5: break print(i)print('westos') #i=5时跳出它的循环直接执行这一步2.continue语句continue仅会跳过当前循环的剩余语句,然后继续进行下一轮循环。for i in range(7): if .原创 2020-07-18 20:25:02 · 942 阅读 · 0 评论 -
Python中的while循环
1. while的基本格式while 条件满足: 语句1...else: 循环完成后 要执行的语句案例:sum=0i=1while i < 5: sum += i i += 1print(sum)2.练习:while循环用户登录系统trycount=0while trycount < 3: print("*****user login system*****") username = input("use.原创 2020-07-17 20:51:51 · 188 阅读 · 0 评论 -
python中的for循环
1.range() 内建函数range(stop) #0~stop-1range(start,stop) #start~stop-1range(start,stop,step) #step为步长案例:range(3) = [0,1,2] range(6) = [0,1,2,3,4,5]range(1,4) = [1,2,3] range(-3,1) = [-3,-2,-1,0]range(1,6,2) =原创 2020-07-17 19:37:12 · 1713 阅读 · 0 评论 -
Python中的if语句
目录1.单分支语句(只含一个条件)2.双分支语句(对一个条件满足或不满足分别执行输出)3.多分支语句(对两个及以上的条件进行判断)4.三元运算符5.练习1:电脑猜拳游戏6.练习2:闰年判断器1.单分支语句(只含一个条件)#判断当前用户是否为rootname = input("Name:")if name == "root": print("当前是root用户")2.双分支语句(对一个条件满足或不满足分别执行输出)#判断输入的年龄是否成年a.原创 2020-07-17 17:31:38 · 256 阅读 · 0 评论 -
python中的运算符
1.普通运算符运算符 含义 ** 幂运算 / 除法 // 取整除法 % 取余数举例:2.逻辑运算符运算符 含义 and 与 or 或 not 非举例:...原创 2020-07-17 12:59:24 · 88 阅读 · 0 评论 -
python中的格式化输入输出
1. 什么是格式化输出在python中可以使用print函数将信息输出到控制台如果希望输出文字信息的同时,一起输出数据,就需要使用到格式化操作符% 被称为格式化操作符,专门用于处理字符串中的格式,包含%的字符串,被称为格式化字符串% 和不同的字符连用,不同类型的数据需要使用不同的格式化字符2. 格式化字符串含义字符 含义%s 字符串%d 有符号十进制整数,%06d表示共输出6位数字,不足的地方使用0补全%f .原创 2020-07-17 12:40:17 · 1585 阅读 · 0 评论