面向对象基础面向对象编程:把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派。简单地说,类是对象的蓝图和模板,对象是类的实例。python中可以使用class关键字定义类,在类中
系统 2019-09-27 17:56:01 2395
PythonHTTP服务搭建显示本地文件我们常需要搭建HTTP服务,但是又不想搞那些复杂的Apache、IIS服务器等,这时我们就可以用Python帮我们搭建服务器。例如之前讲过的用python建XMLRPC开服务进行server/client通信,但这里还有个问题,如果我需要显示本地文件(比如图片),但是rpc不可以直接访问本地文件怎么办?这种情况下,只需要再开一个简单服务,显示指定文件夹下文件,再用那个rpc服务调这个服务的文件地址即可。下面是一个搭建
系统 2019-09-27 17:55:52 2395
运行前指定exportPYTHONIOENCODING为utf-8如exportPYTHONIOENCODING=utf-8;pythonmain.;y
系统 2019-09-27 17:53:35 2395
多路复用IO(IOmultiplexing)这种IO方式为事件驱动IO(eventdrivenIO)。我们都知道,select/epoll的好处就在于单个进程process就可以同时处理多个网络连接的IO。它的基本原理就是select/epoll这个function会不断的轮询所负责的所有socket,当某个socket有数据到达了,就通知用户进程。它的流程如图:select是多路复用的一种当用户进程调用了select,那么整个进程会被block,而同时,
系统 2019-09-27 17:52:57 2395
1、psutil是一个跨平台库(https://github.com/giampaolo/psutil)能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理。2、IPy(http://github.com/haypo/python-ipy),辅助IP规划。3、dnspython(http://dnspython.org)Python实现的一个DNS工具包。4、difflib:difflib作为P
系统 2019-09-27 17:51:35 2395
之前在osc看到一个文章讨论Get和Post的不同,有人说不能用Get来上传文件。这就是用Get上传文件的例子,client用来发Get请求,server用来收请求。文件内容是在http请求的body内传过去的。用了不同的语言,因为我觉得各自处理起来都要方便些。而且我觉得浏览器也是可以发出这样的请求的,之后我会尝试一下。请求端代码复制代码代码如下:importrequests#需要安装requestswithopen('test.txt','rb')asf
系统 2019-09-27 17:51:34 2395
一些概念:import:当你import的时候,python只会在sys.path这个变量(一个list,你可以print出来看)里面的路径中找可能匹配的package和module。module:模块就是py文件package:package就是里面有__init__.py的文件夹。这个__init__.py最好是空的,功能就是告诉python这个是个package而不是普通的文件夹。如果__init__.py中有代码的话,这些代码会在package被i
系统 2019-09-27 17:51:01 2395
在接口测试学习过程中,遇到了利用requests库进行文件下载和上传的问题。同样,在真正的测试过程中,我们不可避免的会遇到上传和下载的测试。文件上传:url=ztx.host+'upload/uploadFile?CSRFToken='+self.getCSRFToken()#上传文件的接口地址header={'User-Agent':'Mozilla/5.0(WindowsNT6.1;WOW64;Trident/7.0;rv:11.0)likeGecko
系统 2019-09-27 17:48:44 2395
如何判断一个对象是可迭代对象?方法是通过collections模块的Iterable类型判断:>>>fromcollectionsimportIterable>>>isinstance('abc',Iterable)True>>>isinstance([1,2,3,4],Iterable)True>>>isinstance(1234,Iterable)False>>>isinstance((1,),Iterable)True>>>L=['a','b','c
系统 2019-09-27 17:47:12 2395
代码注释单行注释#多行注释'''多行注释'''#这是单行注释'''这是多行注释'''print函数用法print('hello','world',sep="#",end="!")sep表示多个值之间的间隔符,end表示以什么结尾print函数格式化%c格式化字符及其ASCII码%s格式化字符串%d格式化整数%u格式化无符号整型%o格式化无符号八进制数%x格式化无符号十六进制数%X格式化无符号十六进制数(大写)%f格式化浮点数字,可指定小数点后的精度%e用科
系统 2019-09-27 17:47:01 2395