Python

二叉树最强总结(python实现)

这篇文章总结了关于二叉树的创建和各种遍历方式。二叉树的创建方式通过层次遍历顺序创建先序遍历顺序(带上叶子结点标识符)创建先序顺序+中序顺序中序顺序+后序顺序二叉树的递归方式先序遍历(递归+非递归)中序遍历(递归+非递归)后序遍历(递归+非递归)广度优先遍历(BFS)首先来定义一下节点的结构classNode():def__init__(self,val):self.val=valself.left=Noneself.right=None然后定义树类clas

系统 2019-09-27 17:57:13 2661

Python

python运维开发常用模块(四)文件对比模块difflib

1.difflib介绍difflib作为Python的标准库模块,无需安装,作用是对比文本之间的差异,且支持输出可读性比较强的HTML文档,与Linux下的diff命令相似。我们可以使用difflib对比代码、配置文件的差别,在版本控制方面是非常有用。Python2.3或更高版本默认自带difflib模块,无需额外安装。示例1:两个字符串的差异对比[yhl@myhostpart2]$catsimple1.py#!/usr/bin/python#_*_cod

系统 2019-09-27 17:56:47 2661

Python

Python 3.X 中定时器(Timer)的使用

前言每次要使用python的定时器的时候总是想着百度,干脆自己写一个记录一下:使用的是两种方式实现,我一般喜欢用方式二Timer实现,下面看实现方式:方式一:sched准确的说,它是一个调度(延时处理机制),每次想要定时执行某任务都必须写入一个调度。'''使用sched模块实现的timer,sched模块不是循环的,一次调度被执行后就Over了,如果想再执行,可以使用while循环的方式不停的调用该方法'''importtime,sched#被调度触发的函

系统 2019-09-27 17:56:24 2661

Python

Python pow(x,n) Leetcode NO.50 分而治之

Pythonpow(x,n)LeetcodeNO.50分而治之classSolution(object):defmyPow(self,x,n):""":typex:float:typen:int:rtype:float"""ifn==0:return1ifn<0:return1/self.myPow(x,-n)ifn%2==1:returnx*self.myPow(x,n-1)returnself.myPow(x*x,n/2)classSolution(o

系统 2019-09-27 17:55:51 2661

Python

Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

最近开始从头学习Lambda在AWS里面的自动化运用。我的操作主要是基于Python3.7的版本,AWS的Python模块叫做Boto。具体的语法和概念都不赘述了,直接来看具体的例子。首先来看看第一个简单的操作,如何创建一个新的EC2实例。第一步,创建一个新的lambda函数,选择authorfromscratch,这里他默认会自动创建一个IAM的role,并赋予访问cloudwatchlog的权限默认的权限显示如下这里我们需要授予创建EC2的权限,因此需

系统 2019-09-27 17:55:04 2661

Python

python弹框二之tkinter.messagebox

前面写过python弹框的ctypes.windll.user32方法:https://blog.csdn.net/Gordennizaicunzai/article/details/78966694该方法调用windows系统的user32组件,不是纯python方法,且wser32的MessageBoxA使用不当会出现乱码,不是很好用。这里介绍pythonic的弹框——tkinter.messagebox。NAMEtkinter.messageboxD

系统 2019-09-27 17:52:52 2661

Python

Python+Selenium使用Page Object实现页面自动化测试

PageObject模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题等),这样在Selenium测试页面中可以通过调用页面类来获取页面元素,这样巧妙的避免了当页面元素id或者位置变化时,需要改测试页面代码的情况。当页面元素id变化时,只需要更改测试页Class中页面的属性即可。PageObject模式是一种自动化测试设计模式,将页面定位和业务操作分开,分离测试对象(元素对象

系统 2019-09-27 17:52:50 2661

Python

使用python实现openvpn的登录次数限制方法

linux上搭建的openvpnopenvpn使用mysql进行用户的验证通过对openvpn日志的监控,实现对openvpn登录失败5次的用户进行锁定,一天后自动解锁#!/usr/bin/envpython3#-*-coding:utf8-*-'''脚本对登录VPN失败次数超过5次的用户进行锁定'''importtimeimportreimportosfile=open('/etc/openvpn/openvpn.log','r')failname={}

系统 2019-09-27 17:51:27 2661

Python

python3+django2开发一个简单的人员管理系统过程详解

一、基础环境准备windows环境:Pycharmpython3.6Django2.0.1Mysql5.7安装django在pycharmterminal控制台执行:python3-mpipinstalldjango#因为本地安装了python2.7和python3.62个版本,所以python3.6环境变量对应python3二、创建工程和应用django-admin.pystartprojectqiakrcmdb#工程名称cdqiakrcmdbdjang

系统 2019-09-27 17:46:36 2661

Python

Python内置函数清单

作者:Vamei出处:http://www.cnblogs.com/vameiPython内置(built-in)函数随着python解释器的运行而创建。在Python的程序中,你可以随时调用这些函数,不需要定义。最常见的内置函数是:print("HelloWorld!")在Python教程中,我们已经提到下面一些内置函数:基本数据类型type()反过头来看看dir()help()len()词典len()文本文件的输入输出open()循环设计range()

系统 2019-09-27 17:57:14 2660

Python

Python实现Windows和Linux之间互相传输文件(文件夹)的方法

项目中需要从Windows系统传输ISO文件到Linux测试系统,然后再Linux测试系统里安装这个ISO文件。所以就需要实现如何把文件从Windows系统传输到Linux系统中。在项目中使用了pscp.exe这个工具,只要按照pscp.exe的使用说明操作即可。只要进入pscp.exe的安装位置,然后输入pscp即可查看pscp的使用说明。下面是我机器上的:使用Python实现也挺简单的,下面的code主要介绍4中情况:1.windows传输文件到Lin

系统 2019-09-27 17:55:11 2660

Python

python实现通过flask和前端进行数据收发

python代码:#-*-coding:utf-8-*-fromflaskimportFlask,jsonify,render_template,requestimportjsonapp=Flask(__name__)#实例化app对象testInfo={}num=10@app.route('/test_post/nn',methods=['GET','POST'])#路由deftest_post():globalnum'''receivedata'''r

系统 2019-09-27 17:50:50 2660

Python

用python登录Dr.com思路以及代码分享

前提:isp得支持web登录的方式。说明:每个ISP的登录页面不一样,不过我估计算法都是一样的,于是解决方案应该也是相似的,只是表单的key可能不太一样。首先,分析登录页面。页面head镶嵌了

系统 2019-09-27 17:48:14 2660

Python

执行python脚本并传入json数据格式参数

最近在写一个python的数据统计分析脚本,需要根据json的数据格式参数去进行业务逻辑处理,出了一些情况拿出来一起分享讨论。一下代码纯属示例。脚本类容很简单,接收一下参数,并使用json包进行一个加载解析。执行脚本,传入一个json对象数组:脚本接受到的内容:json加载解析出错:可以看到python脚本接收到参数的时候会将双引号剔除,然后该传入参数已经不符合json数据格式,导致转换失败。解决办法,最外层使用单引号包裹:可以看到参数成功传入并且成功被解

系统 2019-09-27 17:48:05 2660

Python

Python实现远程调用MetaSploit的方法

本文较为详细的讲述了Python实现远程调用MetaSploit的方法,对Python的学习来说有很好的参考价值。具体实现方法如下:(1)安装Python的msgpack类库,MSF官方文档中的数据序列化标准就是参照msgpack。root@kali:~#apt-getinstallpython-setuptoolsroot@kali:~#easy_installmsgpack-python(2)创建createdb_sql.txt:createdatab

系统 2019-09-27 17:46:15 2660