上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
摘要: 需求: 在函数对象中保存着一些函数的元数据,例如: f.name:函数的名字 f.doc:函数文档字符串 f.module:函数所属模块名 f.dict:函数的属性字典 f.defaults:默认参数元组 ..... 我们在使用装饰器后,再访问上面这些属性访问时,看到的是内部包裹函数的元数据,原来函 阅读全文
posted @ 2020-11-11 11:10 Richardo-M-Lu 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 需求: 某些时候我们想为多个函数,统一添加某种功能,比如计时统计、日志记录、缓存运算结果等等 我们不想在每个函数内一一添加完全相同的代码,有什么好的解决方案? 思路: 定义装饰器函数,用它来生成一个在原函数基础上添加了新功能的函数,替代原函数 代码: def memo(func): cache = 阅读全文
posted @ 2020-11-11 10:23 Richardo-M-Lu 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 需求: 由于python中全局解释器锁(GIL)的存在,在任意时刻只允许一个线程在解释器中运行,因此python的多线程不适合处理cpu密集型的任务 想要处理cpu密集型的任务,可以使用多进程模型 思路: 使用标准库中的multiprocessing.Process,它可以启动子进程执行任务,操作接 阅读全文
posted @ 2020-11-10 23:06 Richardo-M-Lu 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 需求: 我们之前实现了一个多线程web视频监控服务器,由于我们服务器资源有限(CPU、内存、带宽),需要对请求连接数(线程数)做限制,避免因资源耗尽而瘫痪 可以使用线程池代替原来的每次请求创建线程 思路: 使用标准库中concurrent.futures下的ThreadPoolExecutor,对象 阅读全文
posted @ 2020-11-09 23:20 Richardo-M-Lu 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 需求: 我们实现了一个web视频监控服务器,服务器端采集摄像头数据,客户端使用浏览器通过http请求接收数据,服务器使用推送的方式(multipart/x-mixed-replace)一直使用一个tcp连接向客户端 传递数据。这种方式将持续占用一个线程,导致单线程服务器无法处理多客户端请求。改写程序 阅读全文
posted @ 2020-11-09 22:32 Richardo-M-Lu 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 需求: 在上节课,我们从Intrinio.com下载多支股票的csv数据,并将其转换为xml文件 额外需求: 实现一个线程TarThread,将转换出的xml文件打包。比如转换线程每生产出100个xml文件,就通知打包线程将它们打包成一个xxx.tgz文件 并删除xml文件,打包完成后,打包线程反过 阅读全文
posted @ 2020-11-09 15:55 Richardo-M-Lu 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 代码: >>> from collections import Iterator,Iterable >>> >>> >>> from collections import Iterator,Iterable >>> l = [1,2,3,4,5] >>> for x in l: ... print( 阅读全文
posted @ 2020-11-02 14:55 Richardo-M-Lu 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 需求: 某文件系统目录下有一系列文件: quickshort.c graph.py heap.java install.sh stack.cpp ... 编写程序给其中的所有.py和.sh结尾的文件加上用户可执行权限 思路: 使用str.startswith()和str.endswith()方法 ( 阅读全文
posted @ 2020-11-02 10:06 Richardo-M-Lu 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 需求: 很多应用程序都有浏览用户的历史记录的功能,例如: 1、浏览器可以查看最近访问的网页 2、视频播放器可以查看最近播放过的视频文件 3、shell可以查看用户输入过的命令 现在我们制作一个简单的猜数字的小游戏, 如何添加用户的历史记录功能,显示用户最近猜过的数字? 思路: 使用容量为n的队列来存 阅读全文
posted @ 2020-10-30 16:42 Richardo-M-Lu 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 需求: 某编程竞赛系统,对参赛选手编程解题进行计时,选手完成题目后,把该选手的解题用时记录到字典中,以便赛后按选手名查看选手成绩 {'lilei':(2,43),'HanMeiMei':(5,52),'Jim':(1,39)..} 比赛结束后,需按排名顺序依次打印选手成绩,如何实现? 思路: 使用标 阅读全文
posted @ 2020-10-30 15:31 Richardo-M-Lu 阅读(155) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页