07 2018 档案

摘要:线程的队列: queue队列,使用import queue,用法与进程Queue一样 queue is especially useful in threaded programming when information must be exchanged safely between multip 阅读全文
posted @ 2018-07-31 19:12 又见芳踪 阅读(496) 评论(0) 推荐(0)
摘要:池的概念: 回调函数:pool 这个类中 回调函数是主进程执行 如果有两个任务,我的第二个任务在第一个任务执行完毕之后能够立即被主进程执行 线程的概念: 进程时操作系统中的最小资源分配单位 线程是cpu调度的最小单位 线程和进程之间的对比: 线程不能独立存在,必须在一个进程里 线程的开启 关闭以及切 阅读全文
posted @ 2018-07-30 17:41 又见芳踪 阅读(334) 评论(0) 推荐(0)
摘要:进程中的管道:Pipe IPC通信的一种机制,队列就是基于管道来完成通信的,但是管道是原生的通信方式 在进程之间会产生数据不安全的情况,需要自己手动加锁来处理 管道在数据传输过程中,还涉及到一个端口管理,这个需要我们在代码中做处理才能使用代码更加完善 进程中的队列:管道+锁,进程之间的数据安全 进程 阅读全文
posted @ 2018-07-29 16:40 又见芳踪 阅读(210) 评论(0) 推荐(0)
摘要:文件的: with open 的操作的不能直接在内部return,否则没办法关闭文件(循环传输),最好在with open结束后再使用return f open 的文件操作在最近的使用会比较多,在自己关闭文件后renturn 从文件提取的数据,最后的可能会带\n,注意. 网络编程: 需要知道:同步( 阅读全文
posted @ 2018-07-27 20:56 又见芳踪 阅读(229) 评论(0) 推荐(0)
摘要:进程池: 什么时候使用进程池 面向高计算型的场景 采用多进程 如果开启的进程数超过5个 有几个cpu就能=够同时运行几个进程 进程池和multiprocess.Pool模块 进程池 为什么要有进程池?进程池的概念。 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务。那 阅读全文
posted @ 2018-07-27 17:05 又见芳踪 阅读(492) 评论(0) 推荐(0)
摘要:今天使用进程时使用了multipressing中的Lock,使用一次with Lock,很有意思. python 中对with的处理思想四with所求的值的对象必须有一个__enter__()方法,一个__exit__()方法. 紧跟with后边的语句被求值后,返回对象的__enter__()方法被 阅读全文
posted @ 2018-07-26 21:59 又见芳踪 阅读(166) 评论(0) 推荐(0)
摘要:进程之间的通信: 队列 重要 管道 队列的底层 进程之间的数据共享 进程池 进程间的通信: IPC队列:先进先出FIFO - 维护秩序的时候用的较多 买票 秒杀 创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递: Queue([maxsize]) 创建共享 阅读全文
posted @ 2018-07-26 18:09 又见芳踪 阅读(716) 评论(0) 推荐(1)
摘要:Process 进程之间的数据隔离问题 守护进程 报活 几个进程模型 进程同步工具 有先后顺序的 就是同步 进程之间 就是异步 希望原本异步的多进程操作,维持一个顺序 同步工具 1 锁 Lock 重要 买票 2信号量 Semaphore ktv 3事件 Event 信号灯 一 进程之间的数隔离 进程 阅读全文
posted @ 2018-07-25 17:02 又见芳踪 阅读(495) 评论(0) 推荐(0)
摘要:理解就好了 进程 是资源分配的单位 进程的调度:就是多个进程(运行中的程序)在操作系统的控制下被cpu执行,去享用计算机的资源 先来先服务 短作业服务 时间片服务 多级反馈队列 进程调度的过程是不能够随意被程序影响的 程序的并行和并发 并行更快 并发只是宏观上的同时执行 进程一共有三个状态: 就绪 阅读全文
posted @ 2018-07-24 15:19 又见芳踪 阅读(595) 评论(1) 推荐(0)
摘要:操作系统: 现代操作系统中:分时技术,多道技术,实时技术 I/O操作有哪些 输入 input f.read() accept recv connect 输出 print f.write() connect send 文件操作/网络操作都是I/O操作 进程:运行起来就是进程 是 资源分配 的 最小单位 阅读全文
posted @ 2018-07-23 16:18 又见芳踪 阅读(165) 评论(0) 推荐(0)
摘要:概念: b/s 和c/s 架构 b/s架构也是c/s架构 ois七层模型 五层 应用层 python代码 socket (会默写) 传输层 tcp/udp协议 四层路由器 网络层 ip协议 路由器 三层交换机 数据链路层 arp协议(目标ip地址寻找到目标mac地址) 网卡 交换机 物理层 网线 t 阅读全文
posted @ 2018-07-23 15:54 又见芳踪 阅读(181) 评论(0) 推荐(0)
摘要:os 中自带的随机字符串,输出为bytes类型,可以定制长度,不可转化为正常的字 hmac为python中自带的模块,它是用来实现加密的,和hashlib一样,但只有md5,更为简单,输出为bytes类型 还没学习并发,只好用这个 了 这是一个将21.3e以内的数字转化为4个字节长度的bytes,还 阅读全文
posted @ 2018-07-20 20:16 又见芳踪 阅读(216) 评论(0) 推荐(0)
摘要:(重点)粘包 : 就是因为接收端不知道如何接收数据,造成接收数据的混乱的问题 只发生在tcp协议上. 因为tcp协议的特点是面向数据流形式的传输 粘包的发生主要是因为tcp协议有两个机制: 合包机制(nagle算法),拆包机制 subprocess 模块 有一个方法可以执行系统命令 Popen(cm 阅读全文
posted @ 2018-07-20 17:50 又见芳踪 阅读(215) 评论(0) 推荐(0)
摘要:今日内容: 1介绍socket模块中一些其他常用方法 send和sendall 的区别 对于程序员来说,用起来是没有什么区别的 实际上,在socket底层对于两个方法的封装有区别: send(num)此方法会尝试先发送n个数据(n<num),接下来再尝试发送num-n sendall(num)此方法 阅读全文
posted @ 2018-07-20 17:49 又见芳踪 阅读(326) 评论(0) 推荐(0)
摘要:远程执行命令 这里有一个新的模块可以调用 新模块:subprocess 执行系统命令 r = subprocess.Popen('dir',shell=Ture,stdout=subprocess.PIPE,stderr=subprocess.PIPE) subprocess.Popen(a,b,c 阅读全文
posted @ 2018-07-19 19:53 又见芳踪 阅读(422) 评论(0) 推荐(0)
摘要:今日内容: tcp协议的聊天 编码 udp协议的聊天 编码 基于udp协议的时间同步机制 编码 (pycharm控制台输出颜色) import socket sk = socket.socket(family=socket.AF_INET,type=socket.SOCK_STREAM,) 参数1 阅读全文
posted @ 2018-07-18 14:56 又见芳踪 阅读(1037) 评论(0) 推荐(0)
摘要:架构 程序员开发的一种模式 C/S 架构 客户端/服务器模式 B/S架构 Browser浏览器/服务器模式 B/S架构的优势:统一了应用的接口 软件开发的架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是we 阅读全文
posted @ 2018-07-17 19:45 又见芳踪 阅读(331) 评论(0) 推荐(0)
摘要:一 模块 1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用 阅读全文
posted @ 2018-07-16 20:29 又见芳踪 阅读(264) 评论(0) 推荐(0)
摘要:大纲 : # 模块分三种 # 自定义模块 # 内置模块 time re sys os # 第三方模块/扩展模块# 自定义模块 ***** # 模块的创建 导入 模块名 # import # 模块的命名空间 # 在导入模块的时候发生了什么? # 那么这个模块的名字能够找到这个模块所在的内存空间,任意使 阅读全文
posted @ 2018-07-16 20:17 又见芳踪 阅读(386) 评论(0) 推荐(0)
摘要:正则表达式 本身具有处理字符串的能力如果 要处理的字符串 存在python 的内存里 模块 ->操作正则表达式 findall和分组的问题 aa|bb.split("|") split中如果带有分组,会在分割的同时保留被分割内容中带分组的部分 节省时间complie 迭代功能的 节省空间 findi 阅读全文
posted @ 2018-07-14 15:51 又见芳踪 阅读(262) 评论(0) 推荐(0)
摘要:hashlip 摘要算法模块 md5 sha md5 加密算法 常用算法, 可以满足一般的常用的需求sha 加密算法 级别高一些, 数字越大级别越高,加密的效率越低,越安全. md5 #普通的 #加盐的 #动态加盐的#sha 系列 # 普通的 # 加盐的 # 动态加盐的 #文件的校验: # 小文件 阅读全文
posted @ 2018-07-12 19:36 又见芳踪 阅读(257) 评论(0) 推荐(0)
摘要:理论理解: 模块 操作某一个确实存在的内容的 python方法 区分下正则 和re模块 时间和time re模块# 正则表达式 本身是另外一种语言规范# 如何使用python操作正则 # 正则表达式# 是什么? 通过一个规则 来从一段字符串中找到符合规则的内容/判断某段字符串是否符合规则# 有什么用 阅读全文
posted @ 2018-07-12 14:07 又见芳踪 阅读(226) 评论(0) 推荐(0)
摘要:一,异常和错误 主要的单支 多支 万能 多支万能 try finally 1,try ...except 单个情况2,try except except..... 多分支,针对多个你已知的异常,分别导向不同的代码. *3,try except Exception as e: 万能异常处理. 你对出现 阅读全文
posted @ 2018-07-11 21:10 又见芳踪 阅读(175) 评论(0) 推荐(0)
摘要:和时间有关系的我们就要用到时间模块。在使用模块之前,应该首先导入这个模块。 表示时间的三种方式 在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:0 阅读全文
posted @ 2018-07-10 08:31 又见芳踪 阅读(184) 评论(0) 推荐(0)
摘要:logging 日志#记录.花钱的,(淘宝)败家的,# 访问的记录,# 员工信息,debug等等都需要日志. # 1,被动触发: 与异常处理配合.访问记录.#2, 主动触发:检测运维人员输入的指令,检测服务器的重要信息,访问记录.等等. logging库提供了多个组件:Logger、Handler、 阅读全文
posted @ 2018-07-09 09:14 又见芳踪 阅读(146) 评论(0) 推荐(0)
摘要:'''+= == == == == == == == == == += == == == == == == == +| dict | object |+ + +| list, tuple | array |+ + +| str | string |+ + +| int, float | number 阅读全文
posted @ 2018-07-08 16:34 又见芳踪 阅读(164) 评论(0) 推荐(0)
摘要:流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑。Go中流程控制分三大类:条件判断,循环控制和无条件跳转。 if if也许是各种编程语言中最常见的了,它的语法概括起来就是:如果满足条件就做某事,否则做另一件事。 Go里面if条件判断语句中不需要 阅读全文
posted @ 2018-07-06 14:10 又见芳踪 阅读(472) 评论(0) 推荐(0)
摘要:array 数组 array就是数组,它的定义方式如下: 由于长度也是数组类型的一部分,因此[3]int与[4]int是不同的类型,数组也就不能改变长度。数组之间的赋值是值的赋值,即当把一个数组作为参数传入函数的时候,传入的其实是该数组的副本,而不是它的指针。如果要使用指针,那么就需要用到后面介绍的 阅读全文
posted @ 2018-07-06 10:43 又见芳踪 阅读(732) 评论(0) 推荐(0)
摘要:定义变量 关键字 var := 简化后的 go 的变量必须使用 常量 所谓常量,也就是在程序编译阶段就确定下来的值,而程序在运行时无法改变该值。 在Go程序中,常量可定义为数值、布尔值或字符串等类型。 语法 Go 常量和一般程序语言不同的是,可以指定相当多的小数位数(例如200位), 若指定給flo 阅读全文
posted @ 2018-07-06 09:38 又见芳踪 阅读(207) 评论(0) 推荐(0)
摘要:什么是模块: 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到 阅读全文
posted @ 2018-07-05 19:09 又见芳踪 阅读(177) 评论(0) 推荐(0)
摘要:isinstance(obj,cls)检查是否obj是类cls的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 __len__ __hash__ __str__ __repr__ __call__ __eq__ __del__ 析构方法,当对象在内存中被 阅读全文
posted @ 2018-07-04 18:57 又见芳踪 阅读(132) 评论(0) 推荐(0)
摘要:本节重点 反射getattr hasattr 还有 属性中的property 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。 这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lis 阅读全文
posted @ 2018-07-03 20:59 又见芳踪 阅读(160) 评论(0) 推荐(0)
摘要:接口和抽象类 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名) 且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 强制统一规范 # 抽象类和接口类做的事情 :建立规范# 制定一 阅读全文
posted @ 2018-07-02 17:33 又见芳踪 阅读(166) 评论(0) 推荐(0)