![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 68
星野睡不醒
这个作者很懒,什么都没留下…
展开
-
flask_socketio主动调用emit/send发送消息失败解决(伪同步flask上下文)
问题flask_socketio 有两大问题。第一大问题是 socket 依赖版本间的互相制约,仅限于固定的版本内才可以互通,关于这一点,可以查看 python-socketio 提供的说明表:如果不按照对应版本安装依赖,socketio 将失效,且不会有任何提示。第二大问题便是异步或多线程时 flask app 不在同一个上下文,导致主动 emit / send 失效,无法发送消息,但是在通过 on 侦听的作用域内则可以生效,正常返回消息(这是因为在此作用域内上下文已先置确认了)。解决由于原创 2021-10-16 20:09:46 · 3725 阅读 · 0 评论 -
Python宣传自己很快的orjson真的比ujson快吗(orjson与ujson速度比较)
前言orjson 是继最快的 ujson 库后又一宣传自己 “最快” 的 json 解析库。orjson 官方项目地址:ijl / orjson介绍写的速度简直不是一般的快,比 ujson 快 3 倍,比 json 快 6 倍,我的乖乖,这也太快了:可他真的快吗?安装使用之前我们应该先安装。 pip install orjson先说一下,32 位的 Python 无法使用 orjson ,Python 3.9 也无法使用,请保证使用 64 位的 Python 3.8.5 +迷惑的 or原创 2020-10-24 04:21:51 · 4898 阅读 · 0 评论 -
Python异步高性能websockets库简单入门(含重连机制与定时任务)
前言websockets 是现在 python 最火的 websocket 依赖库,优于原版 websocket 和 ws4。项目地址:aaugustin / websockets文档地址:官方文档重连机制我就不搬官网 demo 了,想看自己一看即可。这里我们研究一下断线重连。服务端服务端很简单,只接受消息:import asyncioimport websocketsasync def hello(websocket, path): while True:原创 2020-08-18 23:36:25 · 17979 阅读 · 5 评论 -
Python装饰器传参不传参通用适配写法
装饰器有参无参的区别如果我们对装饰器传参,那是双层结构,例: def deco(*arg): def inner(func): return func return inner其中:arg :装饰器传入参数列表func :被装饰函数如果不传参,被装饰函数会在第一层进入作为参数,是一层结构: def deco(func): return func其中 func 即为被装饰函数。那有没有一种方法,让装饰器原创 2020-08-14 02:55:43 · 429 阅读 · 0 评论 -
Python迷惑之反向装饰器(将被装饰函数传入装饰器的函数参数内调用)
正常装饰器看一个正常的装饰器: def deco(*arg): print(1, arg) def inner(func): print(2, func) print('inner') return func return inner然后我们装饰一个函数: @deco('arg') def main(): return打印结果如下: 1 ('arg',) 2 <fu原创 2020-08-14 01:47:15 · 818 阅读 · 0 评论 -
Python字典转对象的两种方法(dict -> object使属性用点来调用)
新类重新赋值转化法先建一个新类 Dict : class Dict(dict): __setattr__ = dict.__setitem__ __getattr__ = dict.__getitem__该类集成了原字典 dict 类,字典不能使用点调用属性,而该类可以,于是我们做值的转换: def dictToObj(dictObj): if not isinstance(dictObj, dict): return原创 2020-08-13 20:41:56 · 15404 阅读 · 4 评论 -
Python装饰器工厂动态生成装饰器(对原装饰器参数进行处理复用)
我们先定义一个二层装饰器(函数不传参): def deco(*arg): def inner(func): return func return inner这种装饰器应该大家很常见了,*arg 是该装饰器的传入参数。当我们有其他需求时(比如传入参数不同,但业务基本相同),又不想浪费旧装饰器,可以做一个装饰器工厂: def deco_maker(deco_name, *arg): def deco_deco(*args):原创 2020-08-12 15:28:40 · 390 阅读 · 0 评论 -
python图片四角圆角处理中的细节——图片变黑问题
python 四角圆角处理是基于以下一段代码:def imageRadiusProcessing(img, radius = 30): circle = Image.new('L', (radius * 2, radius * 2), 0) draw = ImageDraw.Draw(circle) draw.ellipse((0, 0, radius * 2, radius * 2), fill = 255) w, h = img.size原创 2020-08-11 02:28:00 · 1028 阅读 · 0 评论 -
Python错误ERROR: ‘coroutine‘ object has no attribute ‘***‘
一般遇到这种情况是因为忘记加 await 了,同步调用函数导致反回了协程,再无脑去点下面的属性就会报没有这个属性的错误。在网上没搜到这种解决,可能是因为太低级了,特此纪念一下。。。...原创 2020-07-30 21:51:13 · 4757 阅读 · 0 评论 -
moviepy导出视频文件没有声音而且被压缩的问题
问题是在 ios 设备上发现的,据说 mac 系统上也会有这个问题。一开始发现官方文档有音频编码选项:我把他设定为 .mp3 的 libmp3lame 仍然解决不了问题。在 Alook 中播放视频可以换一个解码器,切换到 解码器 2 时好了。也就是说是编码问题,切换成其他的编码也许就能解决这个问题,但默认是 .ogg 编码(libvorbis)于是我换成了 libfdk_aac ,也就是· aac 解码,结果报错,这个选项不存在。下一个问题,视频文件大小会被压缩,于是我发现了:他说 ffm原创 2020-07-06 20:37:33 · 1115 阅读 · 0 评论 -
Python调用nodejs现在建议的方法(弃用pyexecjs、pyv8、js2py)
前言有时候我们需要借助 nodejs 的一些包独特的性能,但是又要在 Python 环境中调用。目前网上最流行的有三种( pyexecjs、pyv8、js2py )让 Python 调用 nodejs 的依赖库,但他们都有很大的问题,不建议使用。不建议的原因pyexecjs乍一看作者还在维护,其实作者已经表示这个库要没了,EOL 不在维护了:可谓是年久失修,运行简单的代码还可以苟延残喘,实测稍微带新特性的复杂脚本是运行不了的,即使 babel 做过兼容的也不行。pyv8pyv8 更可怕,原创 2020-07-03 15:11:02 · 9365 阅读 · 2 评论 -
【Python】jpg快速转png并调整大小
介绍很简单的小程序,可以直接将本文件夹下所有 .jpg 转为 .png 格式,并自定义大小。依赖需要安装 pillow 库:pip install pillow代码# -*- coding:utf-8 -*-# file name: jpg2png.pyimport osfrom PIL import Imagelist = os.listdir()for i in list: if i != 'jpg2png.py': print(i)原创 2020-05-17 19:08:35 · 1416 阅读 · 0 评论 -
Python jieba_fast 安装失败 vsvars32.bat / cl.exe / io.h / basetsd.h / rc.exe 错误解决
安装 Python 库 jieba_fast 各种失败解决方案:问题1: 缺少库 vsvars32.bat解决:用 Visual C++ Build Tools 2015 工具安装 Win8/10 运行库。Visual C++ Build Tools 2015 下载地址:http://go.microsoft.com/fwlink/?LinkId=691126自定义安装 win8 S...原创 2020-03-06 05:18:13 · 3487 阅读 · 1 评论