摘要:线程和进程的操作是由程序触发系统接口,最后的执行者是系统;协程的操作则是程序员。 协程存在的意义:对于多线程应用,CPU通过切片的方式来切换线程间的执行,线程切换时需要耗时(保存状态,下次继续)。协程,则只使用一个线程,在一个线程中规定某个代码块执行顺序。 协程的适用场景:当程序中存在大量不需要CP
阅读全文
摘要:进程:通俗理解一个运行的程序或者软件,进程是操作系统资源分配的基本单位 1.1、导入进程模块 import multiprocessing 1.2、Process进程类的语法结构如下: Process([group[, target[, name[,args[,kwargs]]]]]) group:
阅读全文
摘要:Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元。 1.1、threading模块 threading模块建立在_thread模块之上。thread模块以低级=原始的方式来处理和控制线程,而threading模块 通过对thread进行二次封装,提供了更方便的api来处理线程
阅读全文
摘要:一、进程与线程之间的关系 1、线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。 2、线程可与属于同一进程的其它线程共享进程所拥有的全部资源,但是其本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息(如程序计数器
阅读全文
摘要:一、程序说明 1、文件上传目标路径:home/file 2、目标文件:putfile.png 3、服务端代码:put_server.py 4、客户端代码:put_client.py 二、各部分代码 1、服务端代码:put_server.py 1 #!/usr/bin/env python 2 # -
阅读全文
摘要:1、I/O多路复用指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。 2、I/O多路复用避免阻塞在io上,原本为多进程或多线程来接收多个连接的消息变为单进程或单线程保存多个socket的状态后轮询处理。 selectselect是通过
阅读全文
摘要:Python 提供了两个基本的 socket 模块。 第一个是 Socket,它提供了标准的 BSD Sockets API。 第二个是 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。 1、Scoket类型 套接字格式: socket(family,type[,prot
阅读全文
摘要:1、系统目录结构 文件夹注解: bin--系统管理员和学生的主程序代码 config--系统的配置文件 db--系统的数据文件 admin--管理员的数据文件 student--学生的数据文件 lib--系统的公共类文件 1、admin.py 主要用于管理员注册、登录系统、创建授课老师、创建课程等操
阅读全文
摘要:一、基本异常处理 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 """ 4 基本异常处理 5 """ 6 7 inp = input("请输入内容:") 8 try: 9 ret = int(inp) 10 print(ret) 11 exce
阅读全文
摘要:一、面向对象简介 1、面向对象不是所有的情况都适用2、面向对象编程 a.定义类 class 类名: def 方法1(self, 参数名): 方法体 b.根据类创建对象,使用对象去执行类中的方法 obj = 类名() obj.方法名3、self,形参,python内部传递 4、函数式编程与面向对象式编
阅读全文
摘要:一、反射机制简介: 通过字符串的形式导入模块 通过字符串的形式,去模块中寻找指定的函数,并执行 规定用户输入格式 模块名/函数名 通过__import__的形式导入模块,并通过 hasattr和getattr 检查并获取函数返回值。 相关方法: getattr:--根据字符串的形式去某个模块中寻找东
阅读全文
摘要:一、生成器简介在python中,生成器是根据某种算法边循环边计算的一种机制。主要就是用于操作大量数据的时候,一般我们会将操作的数据读入内存中处理,可以计算机的内存是比较宝贵的资源,我认为的当要处理的数据超过内存四分之一的大小时就应该使用生成器。 二、生成器有什么特点?1.和传统的容器相比,生成器更节
阅读全文
摘要:一、基本介绍 logging 模块是python自带的一个包,因此在使用的时候,不必安装,只需要import即可。 logging有 5 个不同层次的日志级别,可以将给定的 logger 配置为这些级别: DEBUG:详细信息,用于诊断问题。Value=10。 INFO:确认代码运行正常。Value
阅读全文
摘要:一、Python--shutil模块介绍:高级的 文件、文件夹、压缩包 处理模块,导入import shutil 二、基本操作 2.1、shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中 import shutil shutil.copyfi
阅读全文
摘要:一、configparser介绍configparser模块主要用于读取配置文件,导入方法:import configparser 二、基本操作 2.1、获取节点sectionsConfigParserObject.sections()以列表形式返回configparser对象的所有节点信息 2.2
阅读全文
摘要:xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 本文主要学习的ElementTree是python的XML处理模块,它提供了一个轻量级的对象模型。在使用ElementTree模块时,需要import xml.etree.ElementTre
阅读全文
摘要:requests,发送http请求(用python模拟浏览器浏览网页)requests.get("http://www.baidu.com") 示例: 1 import requests 2 response = requests.get("http://www.weather.com.cn/ada
阅读全文
摘要:python的字符串格式化有两种方式:百分号方式、format方式。百分号方式相对来说比较老,而format方式则是比较先进的方式。 1)百分号格式 语法: %[(name)][flags][width].[precision]typecode name:--可选,用于选择指定的key flags:
阅读全文
摘要:用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA512,MD5算法。 以下是算法示例: 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import hashlib 4 # MD5()加密 5
阅读全文
摘要:time模块 作用:打印日期,做时间转换。 import timeimport datetime #示例一:sleep()print("start to sleep.....")time.sleep(5) #让程序停止5秒print("wake up...") #示例二:时间戳print(time.
阅读全文