
python
文章平均质量分 84
CrazyDragon_King
纸上得来终觉浅,绝知此事要躬行。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
flask 是如何分发请求的?
flask 实例通过请求的 URL 来查找对应的 endpoint,再通过它来查找到对应的视图函数 view_func,然后传入视图函数的参数进行请求处理。在调用视图函数之前,它已经把请求上下文推入了,所以我们在视图函数中可以自由的使用它们,这就是 flask 处理一个请求的大致过程。原创 2025-02-26 19:46:59 · 1194 阅读 · 1 评论 -
对 flask 框架中的全局变量 request 探究
在 Python 的 Web 开发框架 flask 中有这样的四个全局变量,我们经常会使用它们来存取数据,在处理请求过程中它们是非常方便的,因为它们的实现方法是相同的,所以这里我们重点探究一下 request 的使用,其它的都是类似的。下面是 flask.globals 的代码(我删减了一部分):从这里我们可以看到 , , , 的定义是类似的,所以我们这里只探究 request 即可。这几个变量都是全局变量,但是我们在使用时并不需要关心这点,因为框架已经帮我们做好了封装。每个线程或者协程只能访问自己特定原创 2025-02-26 18:45:19 · 709 阅读 · 0 评论 -
简易屏幕共享工具-基于WebSocket
前面写了两个简单的屏幕共享工具,不过那只是为了验证通过截屏的方式是否可行,因为通常手动截屏的频率很低,而对于视频来说它的帧率要求就很高了,至少要一秒30帧率左右。所以,经过实际的截屏工具验证,我了解了几个Python截屏库的特点和限制。例如,多数截屏库都不支持很高的截屏速度,并且截屏是典型的 CPU 密集任务(我尝试使用多线程截屏,发现速度更慢了,之后有时间我也会把这一点整理成文章发出来)。所以,我的初始的想法其实是基于 WebSocket 来实现的。原创 2025-01-01 18:05:14 · 801 阅读 · 2 评论 -
简易共享屏幕工具改进版
昨天心血来潮写了一篇关于简易共享屏幕工具的文章,发现也有一些阅读量,并且我对于它的效果不是很满意 ,实际呈现的帧率还是太低了。所以我今天换了更高效的方式来实现。原创 2024-12-28 17:41:41 · 670 阅读 · 0 评论 -
50 行代码简易屏幕共享工具
好几个月没写博客了,主要是没有时间,因为都去干其他事情了,不过也没有什么成果。今天就抽出来时间来凑一篇文章吧。随着 AI 越来越深入日常生活,我现在编程已经离不开 AI,今天这个代码也是的,几乎都是可以 AI 生成了。不过,我本身也了解这些技术,对于我要做的事情也有一个大致的思路。所以,更重要的还是提高我们自己的能力,这样 AI 才可以放大我们的优势,扩展知识面。原创 2024-12-27 22:59:50 · 344 阅读 · 0 评论 -
Python 的 WSGI 简单了解
我们都知道通用的部分可以抽取出来,做成一个组件供其它应用使用。所以 WebServer 就是这样一个组件,它负责接收用户的请求,然后交给用户的Web应用,等到它处理完成之后,再把响应数据返回给调用者。所以,WebServer 要和 WebApplication 进行交互,那就需要定义一个协议或者更专业一点叫做接口,因此这就是 WSGI。而实现 WSGI 接口的,我们则成为 WebServer 或者 WSGI Server。原创 2024-09-16 15:37:02 · 1392 阅读 · 0 评论 -
Python 的装饰器简单入门
装饰器是可调用的对象,其参数是另一个函数(被装饰的函数)。装饰器可能会处理被装饰的函数,然后把它返回,或者将其替换成另一个函数或可调用对象。原创 2024-08-22 00:44:34 · 372 阅读 · 0 评论 -
基于字典树可视化 COCA20000 词汇
COCA20000 是美国当代语料库中最常见的 20000 个词汇,不过实际上有一些重复,去重之后大概是 17600+ 个,这些单词是很有用,如果能掌握这些单词,相信会对英语的能力有一个较大的提升。我很早就下载了这些单词,并且自己编写了一个背单词的简易工具,如果有需要的同学,可以去看我的博客中搜索。今天这篇博客是利用字典树来堆单词的一个可视化。原创 2024-06-02 22:51:29 · 1825 阅读 · 0 评论 -
Python装饰器带括号和不带括号的理解
装饰器本质上是一个可调用对象(通常是函数),它接受一个函数作为输入,并返回一个新的函数作为输出。这个新函数通常会在执行原始函数前后添加额外的操作,从而扩展或改变原始函数的行为。Python 提供了简洁的语法糖来应用装饰器,即在函数定义之前使用的格式。pass这里的实际上是一个语法糖,会将传递给函数,并将返回的结果重新绑定到上。pass这里需要强调一下,是将传递给 @ 后面的整个部分,可以在看完文章之后再返回来理解一下这句话。原创 2024-05-12 02:07:52 · 1126 阅读 · 1 评论 -
使用 mitmproxy 抓包 grpc
昨天在本地执行 grpc 的 quick start(python版本的),我了解 grpc 内部使用的是 HTTP2,所以我就想着抓包来试试,下面就来记录一下这个过程中的探索。注意:我的电脑上面安装了 Fiddler Classic,不过它并不支持 HTTP2,最新的 Fiddler Everything 支持,不过这个是收费版本的,我就去下载了 mitmproxy 这个开源的软件。原创 2024-04-05 18:20:21 · 1476 阅读 · 0 评论 -
基于 Docker 的 python grpc quickstart
工作之后一直使用的 RPC 框架是 Apache 的 thrift,现在发现 grpc 更流行,所以也要学习一下,先来简单的跑一下 demo。在本地安装运行也很方便,不过因为有了 docker,所以在 docker 里面安装运行隔离性更好,顺便也提升 docker 命令行的熟练度。原创 2024-04-04 15:17:44 · 667 阅读 · 0 评论 -
极简四则运算解释器
所有的代码都在这里了,只需要一个文件my_eval.py,想要运行的话,复制、粘贴,然后按照演示的步骤执行即可。Node、BinOp、Constan 是用来表示节点的类.Calculator 中 lexizer 方法是进行分词的,本来我是打算使用正则的,如果你看过我前面的博客的话,可以发现我是用的正则来分词的(因为 Python 的官方文档正则表达式中有一个简易的分词程序)。不过我看其他人都是手写的分词,所以我也这样做了,不过感觉并不是很好,很繁琐,而且容易出错。原创 2022-12-31 21:28:49 · 482 阅读 · 0 评论 -
简单四则运算语法树可视化
前几天有一篇博客是关于四则运算和二叉树的,我是把四则运算用二叉树写出来(我是用的 JSON 的形式来存储和表达的),并计算最终的结果。最近,也在继续这个方面的东西,不过遇到一些问题。所以想着先做一些简单是事情,也许会更好吧。这篇博客的内容也很简单,就是给定一个四则运算的表达式,画出它的语法树。如果了解过这方面知识的人,应该都能大致画出来,不过其实也是挺费事的。如果包含了多层括号嵌套,也注定了是一个费时费力的事情。这种机械的事情,让程序自己来做是最好不过的了。原创 2022-12-22 23:42:35 · 594 阅读 · 0 评论 -
四则运算和二叉树
一个 root 节点,表示树的根。然后是下面的子节点。kind 的类型为 INT、ADD、MIN、MUL 和 DIV。即整数、+、-、* 和 /。然后是 value,它只有在 kind 为 INT 时有意义。然后是 left 和 right,左右子节点,如果有的话,就一直这样递归表示下去。这里只是简单的尝试一下,计算基本是没有问题的。问题的关键在于把表达式转成树的结构,我还没有想好怎么处理,所以我就把后半部分写出来了。的形式来展示,所以就想着给定一颗表达式树,计算它的结果出来。原创 2022-11-30 00:14:38 · 735 阅读 · 0 评论 -
简单的 JSONParser
最近在学习 Python 的正则表达式内容,我看的是,在文档的最后有一个例子,勾起了我的兴趣。它是用正则表达式来制作了一个简单的词法分析器。我觉得这个东西非常有趣,以前在学校的时候,有一次作业我是手写的,不过我感觉写得不好,勉强完成老师的作业吧,哈哈。所以,我参考这个例子写了一个 JSON 的词法分析,然后又加上了简单的语法分析程序。它的整个效果,有点类似于 python 标准库 json 的方法,不过是一个极其简陋的实现,而且基本上没有错误处理。原创 2022-11-29 23:36:53 · 3035 阅读 · 0 评论 -
DragonEnglish——COCA20000单词+音频+释义+例句及翻译内容聚合
为了做这个东西,倒是花费了不少时间,学习了几个技术,不过做出来的东西还是感觉很丑。不过逻辑上是没有什么问题了,如果大家感兴趣的话,可以去看看视频演示的效果。原创 2022-11-20 20:21:04 · 4330 阅读 · 0 评论 -
使用蒙特卡罗方法计算圆周率
这个东西网上已经有很多相关的内容了, 我只是对这个过程感兴趣, 所以自己来做了一个. 网上, 大多数纯粹计算的, 对于我这种视觉型的人来说, 还是要看一下比较好. 这里我加入了 matplotlib 绘制散点图 (临时学的简单用法), 把这个过程用图片表示出来. 虽然已经理解了它计算的原理, 但是真的看到自己画出来的图示, 还是感觉满有意思的. 果然一图胜千言, 哈哈.原创 2022-10-29 17:59:09 · 2772 阅读 · 0 评论 -
基于 pywinauto 的自动化采集任务
这个虽然没有什么用处, 不过也了解了不少新的东西. 在这个过程中学习了正则表达式, 并且也运用上了. 如果你关注我的其它博客的话, 会发现我最近一直在更新正则表达式相关的文章. 这个就是一个小玩具, 不过如果真的要启动的话, 我感觉还蛮麻烦的, 如果感兴趣的话, 不妨试一试. 如果有问题的话, 可以在下面评论. 不过不一定可以及时回复了.原创 2022-10-16 22:20:14 · 699 阅读 · 0 评论 -
08. 反向引用
反向引用在文本匹配和替换中, 非常有用, 是一个很强大的功能. 这里只是一个简单的介绍, 先对它有一个初步的理解. 这个系列, 也快结束了, 预计还会再写几篇博客吧, 如果感兴趣的话, 可以接着往下看. 不过, 近来工作也蛮累的, 很多时候都心有余而力不足了. 哈哈.原创 2022-10-16 18:40:48 · 838 阅读 · 0 评论 -
07. 使用子表达式
子表达式使用(和)来定义, 作用是把表达式的各个部分划分在一起. 子表达式的常见用途包括: 通过重复次数源字符串准确地控制重复内容, 正确地定义|的多项分支. 同时, 子表达式还允许进行嵌套使用.PS: 使用子表达式进行分组, 之后还会遇到另一种重要的用户, 捕获组 Capture Group.原创 2022-10-15 18:02:58 · 609 阅读 · 0 评论 -
06.位置匹配 (Python)
对文本中特定位置进行匹配.原创 2022-08-14 19:34:20 · 1108 阅读 · 0 评论 -
05.重复匹配 (Python)
正则表达是重复匹配元字符介绍原创 2022-08-07 18:05:30 · 1241 阅读 · 0 评论 -
04.使用元字符 (Python)
元字符是一些在正则表达式里有着特殊含义的字符。英文句号.是一个元字符,它可以匹配任意单个字符。左方括号[也是一个元字符,它标志着一个字符集合的开始。因为元字符有着特殊的含义,所以这些字符就无法用来代表它们本身。...原创 2022-07-28 20:28:50 · 856 阅读 · 0 评论 -
03、匹配一组字符(Python)
正则表达式匹配一组字符。原创 2022-07-24 23:28:56 · 627 阅读 · 1 评论 -
02、正则表达式(Python)
接下来的内容,会跟着这本书的内容走,所以强烈推荐有感兴趣的朋友可以购买一本。下面来学习使用正则表达式匹配一个或多个字符。原创 2022-07-21 23:39:56 · 391 阅读 · 0 评论 -
01、正则表达式学习(Python 前置知识)
正则表达式主要API关系图font-size16px;fill#333;#552222;#552222;stroke#552222;2px;3.5px;0;3;2;#333333;stroke#333333;#333333;font-size16px;color#333;#333;#333;#333;color#333;#ECECFF;stroke#9370DB;1px;center;pointer;#333333;#333333;2.0px;#333333;fillnone;...原创 2022-07-21 23:23:43 · 390 阅读 · 0 评论 -
树的创建、遍历及可视化
许久不复习数据结构了,对于知识点都有些遗忘了,想着来写一些树的遍历、查找,发现连创建一棵树都快忘记了。不过幸好,还是可以看懂别人的代码,还算是有一些基础的。最终也写出来了。因为觉得这样太过于麻烦了,所以,我就在思考一个问题:如何简化这个过程呢? 所以这篇博客就由此而生了,这里主要会讲述三个方面的知识点:简化树的创建树的几个常见算法树的可视化简化树的创建我觉得目前的方式创建 一个棵树,太过于麻烦了。通常我们创建的一棵树,也只是在内存中短暂的存在了一段时间,所以我想可以使用其它的方式,让树可以持久原创 2022-03-07 00:19:57 · 11238 阅读 · 0 评论 -
(2021年)is not a supported wheel on this platform解决方案
今天安装环境时碰到了这个问题,一脸懵逼,经过查阅得知是因为某个.whl文件和python的版本不兼容导致了这个问题。我看了很多人的回答,把别人的成果总结起来发现其实解决这个问题也很简单,但是这里不保证可以适用所有人的环境。造成这个问题的原因是因为版本的兼容性问题,通常解决方法是:1.下载一个可以兼容版本的.whl文件(适用于Windows系统)2.切换python版本(适用于Linux系统)查看whl和python支持的版本如果查看是否不兼容(报错了肯定是不兼容,但是需要弄清楚不兼容出现在哪里)。原创 2021-08-04 20:36:08 · 34878 阅读 · 2 评论 -
文本文件转换编码Python版
前言最近看了python的IO编程,我又记得以前写的那个文本文件转换编码的博客了。它是基于Java语言的,总所周知,python以简洁著称,所以我们这里来使用python实现一下。这里只是一个简单的实现,具体的想法可以参考上面提到的博客。测试数据注:测试文本采用UTF-8编码,通常汉字是占三个字节。GBK中汉字通常是占2个字节。编码转换代码import os# 对于单个文件进行操作的函数,如果需要对文件夹进行操作,可以使用一个函数包装它,这样不用修改本函数,即达到扩展的目的了。def t原创 2020-11-05 21:09:52 · 1228 阅读 · 2 评论 -
Java、python制作马赛克图片
最近发现这个马赛克图片很有趣,所以就在网上找了一个简单的python库来使用,因为都是封装好的,所以使用起来很简单。python库:photomosaic准备图片因为制作图片都是封装好的代码,所以唯一麻烦的就是需要数千张不同的图片。这样的话,比较好的解决方法是使用爬虫一类自动采集的程序,在网络上爬取图片。不过,我为了省事,就简单来处理了。这里我使用Java程序来生成自己需要的图片。下面代...原创 2020-03-21 00:43:40 · 594 阅读 · 2 评论