python教程技术文章
-
Python shutil.copyfileobj 的 length 参数就是每轮读取的缓冲区大小。本文说明默认分块、正数缓冲区和负数一次性读取的差别,并给出大文件、网络流和临时文件复制时的内存与刷新处理方式。206 收藏 -
Python logging 可以按 logger 名称层级为不同模块设置独立级别。本文用 web、worker 和 data 三个模块说明 logger、handler、propagate 的取舍,解决日志过多、缺失和重复打印问题。151 收藏 -
Python 的 csv.reader.line_num 统计的是已经读过的物理行数,不等于返回的记录数。本文结合带引号换行的 CSV 场景,说明 newline=""、记录序号、csv.Error 和业务字段校验如何配合定位坏记录。379 收藏 -
Python zoneinfo 处理夏令时不能只给 datetime 附加时区。本文用 ZoneInfo、fold 和 UTC 往返判断普通、缺失、重复三类本地时间,并说明跨平台部署时如何准备 IANA 时区数据以及保存 UTC、zone key 和 fold。336 收藏 -
Python hashlib 可通过分块 read 与同一个摘要对象的 update 流式计算大文件 SHA-256;结合 file_digest 的版本边界,说明二进制读取、句柄关闭、错误处理及文件稳定性。149 收藏 -
文章 · python教程 | 22小时前 | 配置管理 · python · Python 配置对象 dataclass dataclasses frozen FrozenInstanceError
Python 的 dataclass 配合 frozen=True 可以把配置对象变成创建后不可直接改字段的实例。本文从定义、初始化校验、浅层冻结和 replace 复制几个边界出发,给出一套适合应用启动配置的写法。209 收藏 -
Python argparse.BooleanOptionalAction 可以从一个布尔参数声明自动生成 --feature 与 --no-feature 两个开关。本文结合命令行配置的实际取舍,说明默认值、显式传参、帮助信息和旧版本兼容边界。407 收藏 -
Python sqlite3 的 set_authorizer 可以在 SQL 编译阶段按操作码决定放行、拒绝或隐藏列读取。本文用一个只读连接示例说明回调参数、三种返回值、连接范围与不能替代的资源限制。314 收藏 -
文章 · python教程 | 23小时前 | 数据库 · python · SQLite · SQLite SQL占位符 Python sqlite3 IN查询 动态查询参数 qmark named
Python sqlite3 的动态查询不要把用户输入直接拼进 SQL。本文从 qmark、named 两种占位符讲起,说明动态 IN 条件如何按参数数量生成占位符,以及表名、列名和排序方向为什么需要白名单。372 收藏 -
Decimal 直接接收 float 时会精确保留二进制浮点值,因此 Decimal(0.1) 可能出现长小数。本文说明怎样用字符串或整数构造,并用 FloatOperation 和 quantize 管住输入与输出边界。369 收藏 -
用 Python tempfile.NamedTemporaryFile 创建带可见路径的临时文件,说明 delete、delete_on_close、with 清理和 Windows 重新打开的边界。407 收藏 -
asyncio.Event 是可复用的状态标志,不是一次性消息队列。本文说明 set、wait、clear 的广播关系,并对比 Queue 与 Condition,帮助你避免清除时机不当造成的等待遗漏。116 收藏 -
TaskGroup 首个非取消异常会取消尚未完成的同组任务,并在退出时组合已产生的异常。本文用 except* 分类 ExceptionGroup,并演示如何把普通业务异常转成结果对象,从而汇总每个异步任务的失败状态。486 收藏 -
Python 程序变慢时,先用 cProfile 采集完整调用路径,再用 pstats 按累计时间、自身时间和调用关系定位真正的热点,最后用 timeit 验证局部优化。178 收藏 -
Python 项目使用 editable install 后,源码修改通常重启解释器即可生效;依赖、入口脚本、版本元数据和非 Python 扩展变化则要重新安装或构建。本文按变化类型给出更新判断和发布前复查方法。356 收藏