自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(215)
  • 资源 (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 3784

原创 pip换源、poetry换源

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

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

原创 fastapi+tortoise-orm pagination 分页

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

2024-06-12 12:01:41 118

原创 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 251

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

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

2024-06-04 19:19:52 335

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

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

2024-06-03 18:09:30 167

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

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

2024-06-03 18:04:10 416

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

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

2024-05-31 22:10:13 262

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

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

2024-05-28 20:42:12 448

原创 Github Action 使用Python3.13

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

2024-05-24 20:11:09 229

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

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

2024-05-24 15:24:55 178

原创 使用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 355 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 202

原创 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 323 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 332

原创 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 177

原创 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 121

原创 Python使用割圆法求π值

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

2024-05-06 20:30:00 206 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 1085 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 182 1

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

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

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

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

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

2024-04-25 18:10:55 351

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

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

2024-04-12 19:41:30 228

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

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

2024-04-09 19:45:00 439

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

1. 安装。

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

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

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

2024-04-03 15:47:18 453

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

Ubuntu22系统,参考nginx文档。

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

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

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

2024-03-30 12:39:24 1309

原创 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 960

原创 Python拆分PDF、Python合并PDF

WPS能拆分合并,但却是要输入编辑密码,我没有。故写了个脚本来做拆分,顺便附上合并的代码。代码如下(extract.py)

2024-03-28 19:45:00 750

原创 Python将字符串转换为datetime

要转换成Python的datetime。

2024-03-20 20:45:27 711

原创 Python自动化测试之使用pytest-mock模拟用户输入

【代码】Python自动化测试之使用pytest-mock模拟用户输入。

2024-03-16 11:24:49 450

原创 Python使用FastAPI提供图片缩略图生成接口

使用pillow的thumbnail生成缩略图时,会保持原图的宽高比;使用的opencv的resize则不会。

2024-03-13 22:02:37 275

原创 subprocess.Popen重定向stdout到文件

【代码】subprocess.Popen重定向stdout到文件。

2024-03-12 19:45:00 199

原创 Exception ignored in: <function AbstractConnection.__del__ at 0x> RuntimeError: Event loop is closed

Exception ignored in: RuntimeError: Event loop is closed。

2024-03-08 19:27:16 350

原创 使用Python的pillow库进行图片裁剪

一开始用opencv,剪出来的与预期不符,改成用pillow之后就好了,具体代码如下。

2024-03-07 18:45:00 228

原创 github双因子认证

最近换了个安卓手机,打算让之前的苹果手机退役了,所以需要重新搞GitHub的Two-factor authentication。然后把手机APP里显示的六位数字,输入到xxxxxx的位置,在点击save按钮,就可以了。2. 点击Authenticator app右侧按钮。3. 下载腾讯身份验证器,点击二维码激活。4. 扫描网页上的二维码。

2024-03-06 20:55:50 406

原创 使用协程库httpx并发请求

httpx和aiohttp都是比较常用的异步请求库,当然requests+多线程或requests+gevent也是不错的选择。

2024-02-27 18:30:00 438

原创 nginx配置favicon.ico

配置完,在chrome浏览器刷新页面、修改URL地址、打开新标签、新的无痕窗口,全都不起作用。改成用firefox打开,发现其实已经起作用了,左上角的图标已经变成想要的样子。

2024-02-23 11:55:33 712

原创 fastapi项目uvicorn配置reload=True导致重启卡死(Waiting for background tasks to complete)

解决:一开始是想着在fastapi的lifespan函数里,主动去cancel掉asyncio.all_tasks,然而却发现uvicorn重启服务时,并不执行app的lifespan。于是改成去uvicorn的server.py里增加代码,改完却发现只能去修改源码,无法通过增加函数来魔改。最终方案:给uvicorn增加timeout_graceful_shutdown=5的设置。然后就一直卡在这里了。

2024-02-22 20:06:52 753

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关注的人

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