- 博客(226)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 使用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
原创 python使用rich.progress打印彩色进度条
常规的同步方法和for循环的进度,使用tqdm能很直观地展示进度;而一些异步协程或难以预估进度的,可以考虑使用rich.progress。建议耗时比较短,三秒内能搞定的,用spinner;需长时间等待的,用percentbar。案例一:左侧展示旋转的小圈圈。
2024-07-25 18:35:10
115
原创 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
原创 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
原创 tomlkit mypy error: Value of type “Item | Container“ is not indexable [index]
重新执行mypy demo.py发现已经是悦人的。方案一:假装doc是Dict类型。
2024-05-31 22:10:13
276
原创 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的一个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
原创 一个简单的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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人