Socket网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。Python提供了两个级别访问的网络服务。:低级别的网络服务支持基本的Socket,它提供了标准的BSDSocketsAPI,可以访问底层操作系统Socket接口的全部方法。高级别的网络服务模块SocketServer,它提供了服
系统 2019-09-27 17:55:16 1882
利用上一篇的框架,再写了个翻转棋的程序,为了调试minimax算法,花了两天的时间。几点改进说明:拆分成四个文件:board.py,player.py,ai.py,othello.py。使得整个结构更清晰,更通用,更易于维护。AI的水平跟minimax的递归深度,以及评价函数有关。基于此,我把minimax和评价函数都放到AI类里面AIPlayer使用了多重继承。继承了Player与AI两个类Game类中把原run函数里的生成两个玩家的部分提出来,写成一个
系统 2019-09-27 17:54:46 1882
项目上线部署的时候需要服务端的同学帮忙打Docker,但是自己也需要提前写好requirements.txt。这里记录一下两种生成requirements.txt的方法。方法一:在项目根目录下,在命令行中输入:pipfreeze>requirements.txt这种方法会将当前环境下的所有的信息都存入requirements.txt中。方法二:首先安装pipreqs库。进入需要生成文件的目录执行:pipreqs./如果出现报错:UnicodeDecodeE
系统 2019-09-27 17:54:12 1882
使用OpenCV-Python实现图像读入、显示与保存:#-*-coding:utf-8-*-importcv2frommatplotlibimportpyplotasplt##第二个参数,0为灰度模式显示,1为彩色图像,默认值为1#img0=cv2.imread(r'D:\OpenCV_Python\chepai.jpg',0)#img1=cv2.imread(r'D:\OpenCV_Python\chepai.jpg',1)#或者如下:img0=cv2
系统 2019-09-27 17:53:37 1882
装13的冷场“龙生九子,各不相同…”囚牛、睚眦、嘲风、蒲牢、狻猊、霸下、狴犴、负屃、螭吻。都说提笔忘字丢人,可至少还有提笔的机会。随着信息化时代的普及,原来越多的人成了半文盲。怎么说?电脑前打字敲的一二一,可提起笔来就忘字。从前特别喜欢钢笔,笔袋里放的凌美、百利、永生、英雄一堆,买的北碳、毕加索、派克、百利金各式牌子的墨水。结果感觉半年多都没动过这些陈年老货了。下午聊天装13说到龙生九子,本来吹得正欢,结果朋友问老七bìàn怎么写,然后…瞬间懵逼了,这个1
系统 2019-09-27 17:51:38 1882
ftp登陆连接fromftplibimportFTP#加载ftp模块ftp=FTP()#设置变量ftp.set_debuglevel(2)#打开调试级别2,显示详细信息ftp.connect("IP","port")#连接的ftpsever和端口ftp.login("user","password")#连接的用户名,密码printftp.getwelcome()#打印出欢迎信息ftp.cmd("xxx/xxx")#进入远程目录bufsize=1024#设置
系统 2019-09-27 17:50:53 1882
迭代器和可迭代对象由for循环的内部原理说起list01=[2,434,5,6,8]foriteminlist01:print(item)大家有没有想过list类型对象为什么可以被for循环呢?能够被for循环的条件是:它是可迭代对象(iterable)。那么什么是可迭代对象呢?参考一下内置函数item()的官方说明文档:iter(object[,sentinel])返回一个iterator对象。根据是否存在第二个实参,第一个实参的解释是非常不同的。如果没
系统 2019-09-27 17:50:23 1882
Python入门实践5——运算符(Operator)运算符(operator)一、目标1、熟悉各类运算符及其运算规则。2、掌握运算符的优先级。二、要点1、Python运算符1)、Python算术运算符以下假设变量a=10,变量b=21:运算符描述实例+加-两个对象相加a+b输出结果31-减-得到负数或是一个数减去另一个数a-b输出结果-11*乘-两个数相乘或是返回一个被重复若干次的字符串a*b输出结果210/除-x除以yb/a输出结果2.1%取模-返回除法
系统 2019-09-27 17:49:40 1882
用程序来处理图像和办公文档经常出现在实际开发中,Python的标准库中虽然没有直接支持这些操作的模块,但我们可以通过Python生态圈中的第三方模块来完成这些操作。操作图像计算机图像相关知识颜色。如果你有使用颜料画画的经历,那么一定知道混合红、黄、蓝三种颜料可以得到其他的颜色,事实上这三种颜色就是被我们称为美术三原色的东西,它们是不能再分解的基本颜色。在计算机中,我们可以将红、绿、蓝三种色光以不同的比例叠加来组合成其他的颜色,因此这三种颜色就是色光三原色,
系统 2019-09-27 17:49:18 1882
通常在我们进行多进程应用开发的过程中,不可避免的会遇到多个进程访问同一个资源(临界资源)的状况,这时候必须通过加一个全局性的锁,来实现资源的同步访问(即:同一时间里只能有一个进程访问资源)。举个例子如下:假设我们用mysql来实现一个任务队列,实现的过程如下:1.在Mysql中创建Job表,用于储存队列任务,如下:createtablejobs(idauto_incrementnotnullprimarykey,messagetextnotnull,job
系统 2019-09-27 17:47:47 1882
Python3快速入门(十三)——Pandas数据结构一、Pandas数据结构简介Pandas有三种主要数据结构,Series、DataFrame、Panel。Series是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引(index)。DataFrame是带有标签的二维数据结构,具有index(行标签)和columns(列标签)。如果传递index或columns,则会用于生成的DataFrame的i
系统 2019-09-27 17:47:19 1882
目的:很多时候,我们需要多个不同策略去完成一个任务,那个插件架构是很好一个选择。而每一个策略,不希望一个个去执行,还能实时上报数据,所以每一个插件都是异步执行,把每一个插件结果回调方法实时上报,然后写入数据。线程工具类#app/MyThread.pyimportthreadingclassMyThread(threading.Thread):def__init__(self,func,**kwargs):threading.Thread.__init__(
系统 2019-09-27 17:46:02 1882
项目一:Supervisor简介:Supervisor是实际企业常用的一款Linux/Unix系统下的一个进程管理工具,基于Python开发,可以很方便的监听、启动、停止、重启一个或多个进程,而且当进程意外被杀死时,其可以实现自动恢复,很方便的做到进程自动恢复的功能,提高系统、服务的稳定性,多用于生产环境。下载地址:https://github.com/Supervisor/supervisor项目二:pyecharts简介:pyecharts是一个由Ec
系统 2019-09-27 17:45:42 1882
在Python整型对象所存储的位置是不同的,有一些是一直存储在某个存储里面,而其它的,则在使用时开辟出空间.说这句话的理由,可以看看如下代码:a=5b=5aisb#Truea=500b=500aisb#False由上面的代码可知,整型5是一直存在的,而整型500不是一直存在的.那么有哪些整数是一直存储的呢?a,b,c=0,0,0whileaisb:i+=1a,b=int(str(i)),int(str(i))else:print(i)#打印257由上所知,
系统 2019-09-27 17:38:42 1882
相信用python的同学不少,本人也一直对python情有独钟,毫无疑问python作为一门解释性动态语言没有那些编译型语言高效,但是python简洁、易读以及可扩展性等特性使得它大受青睐。工作中很多同事都在用python,但往往很少有人关注它的性能和惯用法,一般都是现学现用,毕竟python不是我们的主要语言,我们一般只是使用它来做一些系统管理的工作。但是我们为什么不做的更好呢?pythonzen中有这样一句:Thereshouldbeone--andp
系统 2019-09-27 17:38:16 1882