Python

python SSTI tornado render模板注入

原理tornadorender是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对render内容可控,不仅可以注入XSS代码,而且还可以通过{{}}进行传递变量和执行简单的表达式。简单的理解例子如下:------------------------------------------------------------------------------------importtornado.ioloopimpo

系统 2019-09-27 17:51:43 2254

Python

Python,pandas中DataFrame的选取总结

pandas中选取方式有很多种,最常用的是一下几种:直接选取(单维度选取)、iloc();loc();ix()函数选取(区域选区),at();iat()函数选取(单元格选取)。通过以上几种方式可以实现:选取某些行、某些列、某区域(同时选择某些行和某些列)、某个单元格,还可以进行条件选区。具体实现方法如下。首先创建一个DataFrame.importpandasaspdimportnumpyasnpdata={'name':['Joe','Mike','Ja

系统 2019-09-27 17:49:56 2254

Python

Python变量类型知识点总结

变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。变量赋值Python中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是

系统 2019-09-27 17:49:53 2254

Python

python区块及区块链的开发详解

接着上一篇交易记录整合交易类,这里描述区块的开发。首先我们要明白一个区块,需要的内容,包括交易记录集合,时间戳,哈希,上一个区块的哈希。明白了这个,下面就容易代码开发了。importdatetimeimporthashlibfromMessageimportDaDaMessage,InvalidMessagefromTransactionimportTransactionclassBlock:#不定参数,*args,区块集合def__init__(self

系统 2019-09-27 17:49:31 2254

Python

用Python实现一个简单的多线程TCP服务器的教程

最近看《python核心编程》,书中实现了一个简单的1对1的TCPserver,但是在实际使用中1对1的形势明显是不行的,所以研究了一下如何在server端通过启动不同的线程(进程)来实现每个链接一个线程。其实python在类的设计上已经考虑到了这一方面的需求,我们只要在自己的server上继承一下SocketServer.BaseRequestHandler就可以了。server端代码如下:#!/usr/bin/envpythonimportSocket

系统 2019-09-27 17:48:11 2254

Python

openCV+python3 最简单的人脸检测代码 (ainusers亲测)

importsysimportimportlibimportcv2#注意python2中,直接调用reload(sys),但python3中要importimportlibimportlib.reload(sys)#获取训练好的人脸的参数数据,这里直接从GitHub上使用默认值,注意该xml文档要放在执行目录下face_cascade=cv2.CascadeClassifier('./haarcascades/haarcascade_frontalface

系统 2019-09-27 17:46:16 2254

Python

Python中使用PIPE操作Linux管道

Linux中进程的通信方式有信号,管道,共享内存,消息队列socket等。其中管道是*nix系统进程间通信的最古老形式,所有*nix都提供这种通信方式。管道是一种半双工的通信机制,也就是说,它只能一端用来读,另外一端用来写;另外,管道只能用来在具有公共祖先的两个进程之间通信。管道通信遵循先进先出的原理,并且数据只能被读取一次,当此段数据被读取后,马上会从数据中消失,这一点很重要。Linux上,创建管道使用pipe函数,当它执行后,会产生两个文件描述符,分别

系统 2019-09-27 17:45:56 2254

Python

Python socket非阻塞模块应用示例

本文实例讲述了Pythonsocket非阻塞模块应用。分享给大家供大家参考,具体如下:一服务端程序#导入模块importsocketserverimportrandom#定义一个类classMyServer(socketserver.BaseRequestHandler):#如果handle方法出现报错,则会进行跳过#setup方法和finish方法无论如何都会进行执行#首先执行setupdefsetup(self):pass#然后执行handledefh

系统 2019-09-27 17:45:49 2254

Python

基于Selenium+Python的web自动化测试框架

一、什么是Selenium?Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:SeleniumIDE、SeleniumWebDriver和SeleniumGrid。SeleniumIDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言(例如java、python等)的形式导出成测试用例。SeleniumWebDriver:提供Web自动化所需

系统 2019-09-27 17:45:45 2254

Python

python实现一个姓名管理系统

ppython实现一个姓名管理系统实现一个姓名管理系统首先系统会打印菜单:+++++++++++++++++|1查看||2添加||3删除||q退出|+++++++++++++++++根据用户输入的序号进行对应功能的使用框架:L=[]用来存储姓名defmenu():打印菜单defselect_name():name=input(“请输入您要查询的人名(输入q展示全部):”)自己实现defadd_name():循环接受用户输入的数据并且存储到列表中输入空结束d

系统 2019-09-27 17:45:34 2254

Python

Python实现学生管理系统(功能全面)

标题Python实现学生管理系统功能描述1.分为两个界面:(1)登录和注册界面(2)学生管理系统界面2.登录功能和之前发布的图书管理系统相同,登录成功后可进入学生管理系统界面,这里不再叙述3.系统功能(1)添加学生信息(2)删除学生信息(3)修改学生信息(4)查询学生信息(5)显示所有学生信息(6)退出4.有很多地方增加了优化,也进行了完善,如模块导入、登录注册以及回车不修改等功能。整个程序代码大概200行。注意:代码分为两个模块,需要在student_m

系统 2019-09-27 17:45:27 2254

Python

解决PySide+Python子线程更新UI线程的问题

在我开发的系统,需要子线程去运行,然后把运行的结果发给UI线程,让UI线程知道运行的进度。首先创建线程很简单defnewThread(self):d=Data()print'子线程的运行't1=threading.Thread(target=newThread)t1.setDaemon(True)t1.start()之后我发现用子线程去调用UI线程是行不通的,只能通过信号和槽来实现,于是首先,定义一个类,让他实现PySide.QtCore.QObject类

系统 2019-09-27 17:38:32 2254

Python

关于Python作用域自学总结

作用域:顾名思义,作用的范围。如果你是自学者,而且已经进军到函数这一部分了,那么就应当了解下Python的作用域。否则你可能会像我一样,总是对一个变量名同时存在函数内和函数外且有不同值搞的晕头转向。在这里就总结一下,在本人的知识范围内所了解到的作用域是什么样的,LEGB规则到底规定了什么。全局范围的产生(global):我们创建一个xxx.py文件,就是一个模块,这时一个作用域就产生了。这个范围是整个模块,称作Global,全局范围。例如:创建一个文件de

系统 2019-09-27 17:37:48 2254

Python

Python requests 处理返回的JSON格式数据

参考:JSON响应内容Requests中也有一个内置的JSON解码器,助你处理JSON数据:>>>importrequests>>>r=requests.get('https://api.github.com/events')>>>r.json()[{u'repository':{u'open_issues':0,u'url':'https://github.com/...如果JSON解码失败,r.json()就会抛出一个异常。例如,响应内容是401(Un

系统 2019-09-27 17:37:43 2254

编程技术

服务器用户xxx不是数据库bbb的有效用户

网上买了一空间,支持MSSQL,可用MSSQL的“连接到服务器”远程连接上去,连接上去后直接点“新建查询”即可直接输入SQL语句查我自己的数据库,但是在“对象资源管理器”中刷新“数据库”,弹出“服务器用户xxx不是数据库bbb的有效用户”的对话框,如图:因为该MSSQL中不仅仅有我买的数据库,还有其他人买的数据库,而我的登陆用户只能操纵我的数据库,所以就会出来“。。。。不是有效用户”的提示,这样子的话我想在图形界面下查询、更新、备份数据库的时候就不行了。要

系统 2019-08-29 23:40:42 2254