最近又回顾了下Websocket,发现已经忘的七七八八了。于是用js写了客户端,用python写了服务端,来复习一下这方面的知识。先看一下python简单聊天工具最终效果一个客户端连上服务的并发送消息另一个客户端连上服务的并发送消息服务的收到客户端的全部消息并返回消息一个客户端掉线并不影响其它socket连接列取全部连接客户端对象和当前发消息的客户端对象先安装websocketspipinstallwebsocketspython简单聊天工具实例源码Python聊...
继续阅读 >
分类:PYTHON
2020
09-24
09-24
python selenium操作cookie的实现
由于HTTP协议是无状态协议,所以服务器与客户端通过http协议通讯时,服务器不能记录客户端的信息。为了解决这个问题,通过Cookie和Session技术来实现。Cookie保存在客户端中Session保存在服务器中cookie的属性一般cookie所具有的属性,包括:Domain:域,表示当前cookie所属于哪个域或子域下面。对于服务器返回的Set-Cookie中,如果没有指定Domain的值,那么其Domain的值是默认为当前所提交的http的请求所对应的主域名的。...
继续阅读 >
2020
09-24
09-24
详解Python3中的 input() 函数
一、知识介绍:1、input()函数,接收任意输入,将所有输入默认为字符串处理,并返回字符串类型;2、可以用作文本输入,如用户名,密码框的值输入;3、语法:input("提示信息:")。二、运用演示:1、接收任意输入,并返回字符串类型;>>>height=input("输入身高:") #运行输入身高:170 &n...
继续阅读 >
2020
09-24
09-24
Python通过socketserver处理多个链接
socket只能处理一个client连接,如果需要并发处理多个链接则需要使用socketserver,下面是代码示例以及注释server端importsocketserver#之前的socket只能同时处理一个客户端,当需要并发处理client发送的信息是需要使用到socketserver,下面创建一个类,继承socketserver其对应实例就有并发能力classMy_Tcp_Handler(socketserver.BaseRequestHandler):#下面的handler是自己定义的server与client交互的过程,所有交互过程都在此方...
继续阅读 >
2020
09-24
09-24
Python tcp传输代码实例解析
socket是编程语言对tcp/ip协议的封装,使用其可以在两个主机之间传输文件,下面直接进入主题,下面示例是最简单的tcp传输代码示例,先启动server再启动client。需要注意python3socket只能传输byte类型,具体如何转换可以复习字符编码章节相关知识sever端代码#-*-coding:utf-8-*-importsocketserver=socket.socket()server.bind(("0.0.0.0",8888))server.listen(10)whileTrue:#循环监听连接过来的客户端conn,addr=serv...
继续阅读 >
2020
09-24
09-24
Python socket处理client连接过程解析
socket只能处理一个client连接,如果需要并发处理多个链接则需要使用socketserver,下面是代码示例以及注释server端importsocketserver#之前的socket只能同时处理一个客户端,当需要并发处理client发送的信息是需要使用到socketserver,下面创建一个类,继承socketserver其对应实例就有并发能力classMy_Tcp_Handler(socketserver.BaseRequestHandler):#下面的handler是自己定义的server与client交互的过程,所有交互过程都在此方...
继续阅读 >
2020
09-24
09-24
python selenium自动化测试框架搭建的方法步骤
设计思路本文整理归纳以往的工作中用到的东西,现汇总成基础测试框架提供分享。框架采用python3+selenium3+PO+yaml+ddt+unittest等技术编写成基础测试框架,能适应日常测试工作需要。1、使用PageObject模式将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),一个页面建一个对象类,提高用例的可维护性;2、使用yaml管理页面控件元素数据和测试用例数据。例如元素ID等发生变化时,不需要去修...
继续阅读 >
2020
09-24
09-24
Python如何使用paramiko模块连接linux
python程序需要连接linux时,需要使用密码或者秘钥验证以登录os进行命令操作或者文件传输,python中实现此功能的模块为paramiko;下面是该模块的基础用法下面是通过密码进行linux登录执行命令和文件传输示例importparamiko#python程序需要批量管理linux时需要借助paramilo模块登录linux执行命令或者传输文件,下面是最简单的登录主机执行命令ssh_client=paramiko.SSHClient()#创建连接对象ssh_client.set_missing_host_key_polic...
继续阅读 >
2020
09-24
09-24
Python selenium页面加载慢超时的解决方案
开发环境:win10-64 python2.7.16 chrome77fromseleniumimportwebdriverdriver=webdriver.Chrome(executable_path='chromedriver.exe')driver.get('http://全部加载完成超级慢的网站')user='abc'pwd='123driver.find_element_by_id('email').send_keys(user)driver.find_element_by_id('pass').send_keys(pwd)先看这样一段代码当执行了get以后,除非网站全部加载完成,否则你只能乖乖等,什么都不能干,这是...
继续阅读 >
同一进程下的多个线程共享内存数据,多个线程之间没有主次关系,相互之间可以操作;cpu执行的都是线程,默认程序会开一个主线程;进程是程序以及和程序相关资源的集合;某些场景下我们可以使用多线程来达到提高程序执行效率的目的,下面就多线程的一些基础知识做简要说明简单的多线程importthreading,timedeftest1(x):time.sleep(5)print(x**x)#下面定义两个线程调用test1这个函数,创建多线程使用如下语法,target后面跟函...
继续阅读 >
2020
09-24
09-24
Python semaphore evevt生产者消费者模型原理解析
线程锁相当于同时只能有一个线程申请锁,有的场景无数据修改互斥要求可以同时让多个线程同时运行,且需要限制并发线程数量时可以使用信号量importthreading,time,queuedeftest(name):semaphore.acquire()#获取信号量锁print('mynameis%s'%name)time.sleep(1)semaphore.release()#释放信号量锁semaphore=threading.BoundedSemaphore(5)#创建一个信号量同时可以运行3个线程foriinrange(20):t=threading....
继续阅读 >
2020
09-24
09-24
Python中remove漏删和索引越界问题的解决
list.remove方法在删除元素的时候往往会出现漏删或者索引越界的情况示例如下:漏删:lst=[9,25,12,36]foriinlst:ifi>10:lst.remove(i)print(lst)>>>[9,12]那么为什么12被漏删了呢?其实原理很简单,如图:列表从下标为0开始遍历,遍历到25时,将25删除,返回一个新的列表:注意,原来的25对应的下标是1,所以系统会从下标为2的地方开始遍历,但是在新列表中,下标为2的地方变成了36,所以12就被跳过了。解决方法:只需要判...
继续阅读 >
2020
09-24
09-24
Python进程间通信multiprocess代码实例
仔细说来,multiprocess不是一个模块而是python中一个操作、管理进程的包。之所以叫multi是取自multiple的多功能的意思,在这个包中几乎包含了和进程有关的所有子模块。由于提供的子模块非常多,为了方便大家归类记忆,我将这部分大致分为四个部分:创建进程部分,进程同步部分,进程池部分,进程之间数据共享。重点强调:进程没有任何共享状态,进程修改的数据,改动仅限于该进程内,但是通过一些特殊的方法,可以实现进程之间数...
继续阅读 >
2020
09-24
09-24
python实现超级玛丽游戏
python制作超级玛丽游戏,供大家参考,具体内容如下这篇文章,我们优先介绍超级玛丽游戏中的多状态跳跃,和行走地图拖动的原理,然后实现。并实现倒计时和金币动态效果接下来用下面这四张图,就可以完全懂得游戏中背景是怎么会移动的。图1图2图3图4由于代码是我前几年学习python的时候做的,代码写的很挤都整到一个源文件中,大家看的时候仔细。然后上源代码:#!/usr/bin/envpython#-*-coding:utf-8-*-importpygame,os,wxfr...
继续阅读 >
2020
09-24
09-24
python实现超级马里奥
本文实例为大家分享了Python写超级马里奥的具体代码,供大家参考,具体内容如下完整代码和素材戳我主代码importpygameaspgfromsource.mainimportmainif__name__=='__main__':main()pg.quit()main__author__='marble_xu'importpygameaspgfrom.importsetup,toolsfrom.importconstantsascfrom.statesimportmain_menu,load_screen,leveldefmain():game=tools.Control()state_dict={c.MAIN_MENU...
继续阅读 >
2020
09-24
09-24
Python Selenium安装及环境配置的实现
一、Python安装Window系统下,python的安装很简单。访问python.org/download,下载最新版本,安装过程与其他windows软件类似。记得下载后设置path环境变量,然后Windows命令行就可以调用了:二、Selenium安装Python3.x安装后就默认就会有pip(pip.exe默认在python的Scripts路径下),使用pip安装selenium:pipinstallselenium因我已安装selenium,不可重复安装。可使用以下命令查看是否安装成功:pipshowselenium三、Firefox安...
继续阅读 >