摘要: 上篇文章写了一个简单的单线程的一问一答的简单聊天室。这次我们使用SocketServer模块搭建一个多线程异步的聊天室。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # -*- coding:utf-8 -*- import SocketServe 阅读全文
posted @ 2016-12-12 21:52 Rex_Blog 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 这是第一版,最简单的,仅仅实现了通信,你收我发,我收你发而已。下篇将介绍,基于异步多线程的聊天室: 客户端: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #-*-coding:utf-8-*- #聊天室,服务端代码 import  阅读全文
posted @ 2016-12-12 13:52 Rex_Blog 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 导入模块 方法1:import 模块名 //导入整个模块,调用方法时,需要加上模块名 方法2:from 模块名 import 方法 //导入模块中的方法 方法3:import 模块名 as 新模块名 //将导入的模块换个名字 方法4:from 模块名 import * //导入整个模块,调用方法时, 阅读全文
posted @ 2016-12-12 12:12 Rex_Blog 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 简单的读取文件 f.read() 是读取这个文件的所有内容 f.readline() 是读取文件的一行 .write() 会去检查这个文件是否存在,不存在则创建,存在的话,则以覆盖的方式将内容写入。 f.flush() 是将当前内存中的东西写入到磁盘(默认是f.close才会将东西写入磁盘)。 将文 阅读全文
posted @ 2016-12-12 12:11 Rex_Blog 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 用yield实现xreadlines(): yield以后可用在多线程的地方用作线程池,或者想查看函数的运行状况(因为一般函数要在运行结束才能返回,如果在中间加上yield,那么就能获取到函数的运行状态) 原文地址 http://rexyan.cn/article/20 阅读全文
posted @ 2016-12-12 12:10 Rex_Blog 阅读(131) 评论(0) 推荐(0) 编辑
摘要: help() //获取帮助信息 dir() //查看对像内所有属于及方法 type(参数) //查看参数的类型 import //导入模块(当为第一次导入的时候,其实会去执行一遍被调用的文件中的内容。再次调用时,就不会执行被调用文件中的内容) reload(方法名) //import 是第二次导入的 阅读全文
posted @ 2016-12-12 12:08 Rex_Blog 阅读(326) 评论(0) 推荐(0) 编辑
摘要: mport random //导入ramdom模块 print random.random() //生成0,1之间的随机数 print random.randint(1,5) //生成1,5之间的随机数 print random.randrange(1,3) //生成大于等于1,小于3的数 验证码 阅读全文
posted @ 2016-12-12 11:34 Rex_Blog 阅读(196) 评论(0) 推荐(0) 编辑
摘要: mport random //导入ramdom模块 print random.random() //生成0,1之间的随机数 print random.randint(1,5) //生成1,5之间的随机数 print random.randrange(1,3) //生成大于等于1,小于3的数 验证码 阅读全文
posted @ 2016-12-12 11:32 Rex_Blog 阅读(52) 评论(0) 推荐(0) 编辑