自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(226)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用Python脚本来给ubuntu换源

curl https://gitee.com/waketzheng/carstino/raw/master/change_ubuntu_mirror_sources.py|sudo python # 支持Python2.7+

2018-07-17 14:51:48 3812

原创 pip换源、poetry换源

pip、poetry换源--采用Python脚本实现,一行命令随意切换各种国内源

2018-06-26 15:23:03 19997 1

原创 python使用rich.progress打印彩色进度条

常规的同步方法和for循环的进度,使用tqdm能很直观地展示进度;而一些异步协程或难以预估进度的,可以考虑使用rich.progress。建议耗时比较短,三秒内能搞定的,用spinner;需长时间等待的,用percentbar。案例一:左侧展示旋转的小圈圈。

2024-07-25 18:35:10 115

原创 Python使用多线程和协程并发测试FastDFS文件上传、删除

【代码】Python使用多线程并发测试FastDFS文件上传、删除。

2024-07-05 18:26:34 251

原创 MacOS升级指定Python版本的pip

系统默认是Python2.7,已经通过brew install python@3.11 python@3.12安装了多个版本的Python。这就导致,每次使用python3.12 -m venv venv创建虚拟环境之后,还需要pip install -U pip升级。执行:python3.12 -m pip --version。用的是Python3.11的pip,且已是最新版本。执行:pip --version。显示3.12里的pip不是最新的。

2024-07-01 22:56:42 374

原创 Python使用defaultdict简化值为list的字典

而my_defaultdict['not-exist-key']则会返回空列表。my_dict['not-exist-key']这个会抛出KeyError。少了if key not in xxx的判断,代码更加简洁。

2024-06-30 16:49:23 195

原创 AttributeError: module ‘pydantic_core‘ has no attribute ‘enum_schema‘. Did you mean: ‘any_schema‘?

是有enum_schema的,很奇怪它为什么会抛异常,同样的代码在另一台服务器是能正常运行的。看pydantic的文档。

2024-06-27 15:05:43 330

原创 python项目使用pre-commit确保代码规范

1. 安装pre-commit (建议直接使用pipx全局安装,无需每个项目单独安装)二、使用Python3.10+的。三、需要使用本地shell脚本的。

2024-06-24 15:15:50 190

原创 HTML播放flv

【代码】HTML播放flv。

2024-06-20 18:29:17 300

原创 fastapi给文档页面docs/加锁

fastapi给文档页面docs/加锁:fastapi_cdn_host.patch_docs(app, lock=fastapi_cdn_host.weekday_lock)

2024-06-20 15:07:07 348

原创 fastapi修改docs文档页面favicon.ico图标

如果打开的标签比较多,就不好区分了,想要修改这个logo,可以用fastapi-cdn-host一行代码搞定。如下图,文档页面默认使用的是tiangolo大神的Logo。

2024-06-18 21:27:16 243

原创 pytest unittest temp path单元测试创建临时文件

【代码】pytest unittest temp path单元测试创建临时文件。

2024-06-17 16:38:32 371

原创 python type hint async decorator异步函数装饰器的类型注解

【代码】python type hint async decorator异步函数装饰器的类型注解。

2024-06-17 12:02:20 142

原创 fastapi+tortoise-orm pagination 分页

【代码】fastapi+tortoise-orm pagination 分页。

2024-06-12 12:01:41 248

原创 pre-commit 慢

慢的原因是初始化时,需要克隆插件,即:git clone https://github.com/user/repo。我的是:~/trying/coveralls-python/.venv/bin/pre-commit。2. 方法二:手动把.pre-commit-config.yaml文件里的URL改成ssh的型式。保存文件后,回到原来的目录,重新执行pre-commit的命令就会发现快很多了。3. 方法三:像我一样修改pre-commit的源代码。2. cd到该包的安装位置。1. 方法一:开启VPN。

2024-06-08 11:21:03 278

原创 FastAPI给docs/配置自有域名的静态资源swagger-ui

2. 安装插件fastapi-cdn-host(只适用0.100以上版本的fastapi,旧版本请自行参考官网示例)附:如果还想修改网站ico,可以传入favicon_url参数。

2024-06-04 19:19:52 506

原创 ubuntu使用脚本安装oh-my-zsh

复制内容,保存到ohmyzsh.bash文件里,然后执行:bash ohmyzsh.bash。

2024-06-03 18:09:30 179

原创 Python打印当前目录下,所有文件名的首字母

【代码】Python打印当前目录下,所有文件名的首字母。

2024-06-03 18:04:10 431

原创 tomlkit mypy error: Value of type “Item | Container“ is not indexable [index]

重新执行mypy demo.py发现已经是悦人的。方案一:假装doc是Dict类型。

2024-05-31 22:10:13 276

原创 python给__iter__添加type hint类型注解

【代码】python给__iter__添加type hint类型注解。

2024-05-28 20:42:12 465

原创 Github Action 使用Python3.13

必应了一下,没找到答案,最后在setup-python代码仓的issues里找到了答案。由于Python3.13并未正式发布,所以以下内容未能按预期工作。

2024-05-24 20:11:09 245

原创 coveralls使用pytest进行本地测试时报错SyntaxError: invalid escape sequence \S

coveralls依赖了docopt模块,而docopt已经有6年没更新了,它并不支持高版本的Python。解决:使用docopt-ng平替。

2024-05-24 15:24:55 196

原创 使用Github Action发布python包到pypi.org

点击下方的绿色按钮Add secret,添加成功后Repository secrets栏目下方就会列出这个token了。进入新页面后,Secret下方粘贴刚才从pypi中复制的token,Name下方输入PYPI_API_TOKEN。进入新页面后,点击左侧的Secrets and variables,点击子菜单中的Actions。输入Token name,选择一个Scope,然后点击Create token。1. 登录Github后,进入要配置的代码仓,点击Settings。一、pypi中创建token。

2024-05-20 21:30:00 441 2

原创 Python包管理工具之PDM黑魔法:一套代码发布两个包

最近发现FastAPI的作者tiangolo大神,把fastapi、typer、sqlmodel几个库的包管理工具,都由poetry改成了pdm。现在安装typer是`pip install typer`,而`pip install typer-slim`则相当于以前的不带额外依赖的安装。而且fastapi代码库同时在pypi发布了两个安装包:fastapi和fastapi-slim。以前安装typer是`pip install typer[all]`浏览了一圈,以下是一些比较靠谱的博客和文档。

2024-05-17 23:10:18 247

原创 Python使用fastdfs-client与FastDFS交互

I'm glad to announce that fastdfs-client==1.1.1 has been published. Upload file to FastDFS server by python can not be too simple: `from fastdfs_client import FastdfsClient;...`

2024-05-15 21:55:08 420 1

原创 fdfs_client.exceptions.ResponseError: Tracker response length is invaild, expect: 40, actual: 70

FastDFS的版本是最新的6.12(截至2024.05.15)升级成功后,重新执行代码,发现已经不再报错,能正常上传文件了。(需要Python3.10+)方案一:升级依赖包(

2024-05-15 18:48:53 387

原创 TypeError: fdfs_client.connection.ConnectionPool() argument after ** must be a mapping, not str

FastDFS的Python客户端初始化时报错TypeError,解决:读取配置后,再传参get_tracker_conf('xx.conf')

2024-05-15 18:34:02 209

原创 tortoise-orm库静态检查(mypy)报错error: Variable “User_Pydantic“ is not valid as a type [valid-type]

解决tortoise-orm静态检查error: Variable "User_Pydantic" is not valid as a type [valid-type]的问题

2024-05-12 12:17:29 143

原创 Python使用割圆法求π值

【代码】Python使用割圆法求π值。

2024-05-06 20:30:00 235 1

原创 偶然发现了Python的一个BUG。。。

一般情况下,dict(id=1, **{'id': 1})这句代码应该报TypeError。Python3.10和Python3.9也能复现该情况,正当我摩拳踩掌,准备去cpython提个issue时,发现Python3.12竟然没有这个问题!好吧, 也不能白忙活,还是有点好奇,这个BUG是怎么产生,于是到stackoverflow上提问了一下。

2024-05-06 01:05:18 1091 1

原创 tortoise-orm在fastapi的lifespan中访问数据库表时报for r in self._routers:TypeError: ‘NoneType‘ object is not it

注:pip安装时如果报443连接超时,可以用ssh的方式(本地公钥需配置到github里):pip install --upgrade 'git+ssh://git@github.com/tortoise/tortoise-orm.git'解决:升级tortoise-orm使用github上的待发布版。如果还想消除warnning提示,可参照库文档的示例修改代码。升级完成后,不再报错了。

2024-04-29 19:45:00 237 1

原创 Python发送digest认证的请求:requests.auth.HTTPDigestAuth/httpx.DigestAuth

Python之digest认证:一、同步版(pip install requests)二、异步协程版(pip install httpx)

2024-04-28 12:32:57 414 3

原创 使用python往png写入文本 将信息隐藏于图片

使用python往png写入文本 将信息隐藏于图片 而且要能重新提取出来。方法一:使用Stegano。方法二:使用pillow。

2024-04-25 18:10:55 419

原创 Python isort忽略某一行或某个文件

可以很方便地对Python代码的import和from ... import进行排序,但有时候会有一些定制化的需求,比如想让它忽略某一行,或干脆忽略某个文件。忽略某个文件则是需要将isort:skip_file写到单独一行的注释或是模块文档里, 又或者是配置pyproject.toml。

2024-04-12 19:41:30 251

原创 Python单元测试pytest捕获日志输出

使用pytest进行单元测试时,遇到了需要测试日志输出的情况,可以用caplog和capsys

2024-04-09 19:45:00 485

原创 编译Nginx配置QUIC/HTTP3.0

1. 安装。

2024-04-08 23:11:23 533 2

原创 一个简单的Demo展示fastapi+tortoise-orm+celery如何搭配

8. 启动Celery Worker。1. 创建并激活虚拟环境。3. 配置数据库连接参数。4. 定义表结构(直接从。9. 打开浏览器验证效果。5. 配置celery。

2024-04-03 15:47:18 541

原创 ./configure: error: SSL modules require the OpenSSL library. You can either do not enable the module

Ubuntu22系统,参考nginx文档。

2024-04-02 23:21:43 2368 1

原创 Python读取PDF文字 去掉页眉页脚

使用PyMuPDF(即fitz)读取PDF中的text时,会把页码也读进来。所以,有时候就需要让程序忽略页眉和页脚,或者直接删除页眉和页脚。

2024-03-30 12:39:24 1698

原创 Python读取PDF文字转txt,解决分栏识别问题,能读两栏

1. PyPDF/PyPDF2(截止2024.03.28这两个已经合并成了一个)执行结果如下(从左到右分别是pdfplumber/PyPDF/PyMuPDF)4. pdftotext (Mac系统没安装成功,故未试用)3. PDFMiner (有5年没更新了,不建议使用)搜索了一下,大致有这些库能将PDF转txt。1. pdfplumber未能正确处理分栏。2. PyPDF 未能正确识别换行。

2024-03-28 20:30:18 1272

Python读取PDF文字转txt,解决分栏识别问题,能读两栏

Python读取PDF文字转txt,解决分栏识别问题,能读两栏

2024-03-28

FastAPI上传文件的同时,带上body

FastAPI上传文件的同时,带上body

2023-10-26

headfirstpython-and-djangobyexample

headfirstpython书里的代码,和django by example书里的代码。

2018-08-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除