随笔分类 - python
摘要:Twisted第三方文档:https://krondo.com/an-introduction-to-asynchronous-programming-and-twisted/Twisted官方文档:https://twistedmatrix.com/trac/wiki/Documentation
阅读全文
摘要:进程 > 线程 > 协程 协程用于耗时操作,高效利用CPU,例如网络请求、网路下载(爬虫)、IO操作(文件的读写)。 1、使用生成器完成协程 ###python3.8 import time def task1(): for i in range(3): print('A' + str(i)) yi
阅读全文
摘要:参考文档:https://docs.python.org/zh-cn/3.8/library/multiprocessing.html 参考文档:《Python核心编程(第3版 2016)》 1、进程简介 程序是存储在磁盘上的可执行二进制(或其他类型)文件。 进程(有时称为重量级进程)则是一个执行中
阅读全文
摘要:参考文档:https://docs.python.org/zh-cn/3.8/library/threading.html 参考文档:《Python核心编程(第3版 2016)》 1、多任务 多任务就是同一时间内运行多个程序。 单核CPU实现多任务的原理:操作系统轮流让各个任务在CPU上执行。 多核
阅读全文
摘要:参考文档:https://docs.python.org/zh-cn/3.8/library/queue.html queue模块实现了多生产者、多消费者队列。特别适用于消息必须安全地在多线程间交换的线程编程。 1、队列类型 queue模块实现了三种类型的队列,它们的区别仅仅是条目取回的顺序。 在内
阅读全文
摘要:学习文档:https://docs.python.org/zh-cn/3.8/library/select.html#module-select 1、select模块 select模块提供了对select()和poll()函数的访问,这两个函数在大多数操作系统中是可用的。 在Linux2.5+上可用
阅读全文
摘要:1、同步模型和异步模型 下图展示了,同步单线程、同步多线程以及异步单线程三种模式下程序随着时间的推移所做的工作。这个程序有3个任务需要完成,每个任务都在等待I/O操作时阻塞自身。阻塞在I/O操作上所花费的时间已经用灰色框标示出来了。 1、单线程同步模型 在单线程同步模型中,任务按照顺序执行。如果某个
阅读全文
摘要:参考文档:https://docs.python.org/zh-cn/3.8/library/argparse.html argparse模块可以让你轻松编写用户友好的命令行接口。 程序定义它需要的参数,然后argparse知道如何从sys.argv解析出那些参数,并在用户给程序传入无效参数时报出错
阅读全文
摘要:1、事件驱动模型 流水式编程: 开始 >代码块A >代码块B >代码块C >代码块D >...... >结束 事件驱动模型: 开始 >初始化 >等待 事件驱动模型可以分为3类。 当每收到一个请求的时候,创建一个线程来处理请求。 当每收到一个请求的时候,创建一个进程来处理请求。 当每收到一个请求的时候
阅读全文
摘要:1、socketserver模块 socketserver是标准库中的一个高级模块(Python2.x中名为SocketServer)。 socketserver的目标是简化创建网络客户端和服务器的代码。(隐藏了实现细节) socketserver是使用类来编写应用程序。 以面向对象的方式处理事务有
阅读全文
摘要:5、twisted框架介绍 twisted是一个完整的事件驱动的网络框架,利用它既能使用也能开发完整的异步网络应用程序和协议。 twisted提供了大量的支持来建立完整的系统,包括网络协议、线程、安全性和身份验证、聊天/IM、DBM及RDBMS数据库集成、Web/因特网、电子邮件、命令行参数、GUI
阅读全文
摘要:1、socket模块的socket类 要创建套接字,必须使用socket.socket()类: socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None) 地址簇(family)应为AF_INET(默认)、AF_INET6、AF_UN
阅读全文
摘要:关于python处理excel文件的各种信息:http://www.python-excel.org/本文使用openpyxl(3.0.7)说明文档:https://openpyxl.readthedocs.io/en/stable/ 1、openpyxl模块介绍及安装 1、openpyxl模块介绍
阅读全文
摘要:本文使用的python3.8:https://docs.python.org/zh-cn/3.8/library/shelve.html#module-shelve 1、与json和pickle的不同 使用json或者pickle持久化数据,可以dump多次,但每次dump都会覆盖掉之前的,因此lo
阅读全文
摘要:本文使用的python3.8:https://docs.python.org/zh-cn/3.8/library/configparser.html#module-configparser 1、INI文件 1、ini文件的基本结构 配置文件是由小节组成的每个小节都有一个[section]标头,加上多
阅读全文
摘要:PyYAML模块说明:https://pyyaml.org/wiki/PyYAMLDocumentation 1、YAML数据 1、YAML数据简介 YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML的意思其实是
阅读全文
摘要:本文使用的python3.8:https://docs.python.org/zh-cn/3.8/library/pickle.html#pickle.Pickler 1、pickle模块基础 pickle,用于python程序之间的数据交换。 1、pickle模块简介 模块pickle实现了对一个
阅读全文
摘要:本文使用的python3.8:https://docs.python.org/zh-cn/3.8/library/json.html#module-json 1、json数据 1、json简介 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表
阅读全文
摘要:1、xml包中的四个子包 Python的核心XML支持。 xml包的说明文档:https://docs.python.org/zh-cn/3.7/library/xml.html 1、dom包 Document Object Model。适合用于处理DOM API。它能够将XML数据在内存中解析成一
阅读全文
摘要:1、字符编码发展史 2、python默认编码 python2.x默认的字符编码是ASCII,默认的文件编码是ASCII。(这里的字符是python中的字符串,文件是.py文件) python3.x默认的字符编码是unicode,默认的文件编码是utf-8。 1、Python2 默认的字符编码是ASC
阅读全文