Posts under tag "Python"

极快的python项目管理工具:uv使用指南

Mar 08,2026 Python uv

trees-by-the-lake

上一篇文章介绍了新一代的 Python 项目管理工具 Poetry,解决了 Python 项目难以管理的问题。本文将介绍另一款 Python 项目管理工具 uv,uv 是由 Astral 团队打造的下一代 Python 项目与包管理工具,目标是替代 pip、pip-tools 和 virtualenv ,为 Python 生态带来更快的依赖解析和安装体验。

uv 官网的介绍是 用 Rust 编写的极快速的 Python 打包和项目管理工具。uv 之所以快,不仅因为用 Rust 重构,还在于其全局缓存与依赖解析算法优化。uv 仍在快速迭代中,强烈推荐 Python 开发者使用。

Continue Reading ...

Python项目管理工具:Poetry 使用指南

Mar 01,2026 Python Poetry

sky-and-plane 在项目开发中,良好的代码管理工具至关重要。对于 Python 开发而言,核心诉求是管理项目依赖、虚拟环境、项目元信息等。近年来,一系列 PEP(Python 增强提案)规范了使用 pyproject.toml 文件进行项目依赖、构建和元信息管理。伴随着标准落地,许多新工具渐次发布,首当其冲的就是 Poetry。Poetry 是用于 Python 的依赖管理和打包工具,设计目标是简化和提升 Python 包的创建、管理与发布过程。在 Poetry 官网 中对其的介绍是:Poetry 是让 Python 打包和依赖管理更加轻松的工具。

Continue Reading ...

OpenTelemetry 和 Flask

Harvest-and-build

在上一篇文章 OpenTelemetry 入门和部署 中介绍了 OpenTelemetry的架构,并部署了一套极简的OpenTelemetry服务。在上一篇文章的最后,我们使用curl向OpenTelemetry Collector服务的HTTP接口上报了Traces、Metrics和Logs数据,并进行了验证。本文将从测试场景进入到应用场景,编写两个基于Flask的Web服务,看看在Python Web开发场景中,如何将应用的Traces、Metrics和Logs数据上报到OpenTelemetry。

Continue Reading ...

SQLAlchemy中的联表查询

Aug 31,2025 Python SQLAlchemy

heavy-cloud-in-bluesky

使用关系型数据库时,联表查询是一项常见的数据库操作。外键可以简化联表查询操作,确保数据的强约束和完整性。但对数据库管理而言,外键使得数据库的设计和维护变得复杂,降低灵活性。因此,许多公司禁止在业务中使用外键,而是在业务代码层保持数据的一致性。

Python中最流行的 SQLAlchemy 这个ORM库就能通过外键和自带的 relationship 函数实现跨表数据模型间的关系绑定。提供了基于外键,和基于join的2种方法。本文将从简到繁的一一介绍。

Continue Reading ...

Python日志:从原理到实践

Nov 28,2020 Python logging

日志是调试程序、记录代码执行过程和排查线上线下问题的重要手段,Python中内置了logging模块,可以很方便的根据需要输出日志。本文将详细的讲解和演示Pythonlogging模块的几个重要组件,并提供一些日志输出的经验和方法。

Continue Reading ...

将m3u8.sqlite格式的文件转码成mp4的过程

个人习惯,比较偏爱将某些视频资料下载到线下进行离线播放。

分析m6u8.sqlite的数据内容

这次想看某投资app的视频,于是先利用app自带的下载功能将视频下载到手机上。发现手机上保存的是 m3u8.sqlite 格式,为了方便分析,于是把这些文件全部转到电脑上,文件大小200M,基本确认视频内容就保存在这个文件中。传到电脑上之后,直接开始使用Linux的sqlite3命令进行分析。

Continue Reading ...

flask编写一个简易版的DnsPod

Aug 29,2020 Python bind flask

DNS是当前互联网最重要的基础设施,一般企业内也会部署自己的私有DNS服务器,在我们公司就是部署BIND9做内部域名解析,用DnsPod做外部域名解析,为了配合Nginx的运维自动化,所以对外封装了DnsPod的api接口,对内自己用flask封装了一套api。目前的过程是使用数据库记录DNS的解析记录,通过模板生成DNS的配置文件,并推送到DNS服务器,然后reload生效,过程比较复杂。

Continue Reading ...

Python的重试模块retry

Jul 09,2020 Python retry

在某些场景下,代码执行出现异常的时候,我们希望代码能自动进行重试。比如,某个三方接口的token时效时间是30分钟,在编码的时候,我希望能主动尝试登录。如果接口返回401了,重新获取token,再用新token请求一次。 ![retry][1]

Continue Reading ...

Python编写简单的gRPC服务

Nov 18,2019 Python gRPC

感觉gRPC似乎一直在流行与不流行之间,似乎周围没什么人用,但是每隔一段时间都会听到一些gRPC的消息,今天刚好有团队要gRPC的支持,所以就自己也测试下怎么用Python来写gRPC的服务。RPC是远程过程调用(Remote Procedure Call)的缩写形式,基本可以理解为RPC就是要像调用本地的函数一样去调远程函数,gRPC就是Google开源的RPC框架。闲话不多说,show you the code!

gRPC

Continue Reading ...

Python计算笛卡尔积的两种方法

cartesian-product

求笛卡尔积可能是最常用的集合操作了。

Continue Reading ...