python教程技术文章
-
文章 · python教程 | 1星期前 | JSON · Python教程 · 异常排查 · Python json.loads JSONDecodeError lineno colno pos JSON排错
Python 解析多行 JSON 报错时,JSONDecodeError 的 lineno 和 colno 是从 1 开始的行列坐标,pos 是 doc 中的 0 起始偏移。本文用 splitlines() 还原出错行,说明换行、空白和 Unicode 字符带来的定位边界,并给出可复用的诊断函数。326 收藏 -
Python sqlite3 批量写入时,提交和回滚的关键是先划定事务边界:整批导入用连接上下文管理器,分批导入就按批次提交并只回滚当前批次。325 收藏 -
本文详解在 pandas 中通过 merge 向原 DataFrame 填充关联字段时常见的索引不匹配问题,提供两种可靠解决方案:推荐的 map 映射法与修正后的 merge + 索引对齐法,并附可运行示例和关键注意事项。 本文详解在 pandas 中通过 merge 向原 DataFrame 填充321 收藏 -
文章 · python教程 | 3星期前 | 并发 · 线程 · python · 故障排查 · 优雅停机 生产者消费者 Python queue.ShutDown Queue.shutdown 线程协作
Python 3.13 为 queue.Queue 增加了 shutdown() 和 ShutDown 异常。本文从生产者停止、消费者排空、阻塞线程唤醒和旧版本兼容四个边界出发,给出可验证的关闭写法。321 收藏 -
Python dataclass 继承后常见的 non-default argument follows default argument,并不只是字段写错。用 KW_ONLY 拆开基类和子类的构造参数,再配合 fields 与 asdict 检查序列化边界。319 收藏 -
Python 的 pathlib.Path.walk() 适合把目录遍历结果直接交给 Path API 继续处理。本文从最小筛选写法出发,说明 top_down 剪枝、follow_symlinks 的风险、文件类型核对和 Python 版本兼容边界。319 收藏 -
文章 · python教程 | 3星期前 | 并发 · python · logging · 故障排查 · 优雅停机 日志丢失 QueueHandler 日志队列 Python QueueListener
Python 用 QueueHandler 把日志交给后台线程后,停机阶段不能只依赖进程退出。本文从日志资产、队列排空、监听器停止和异常收尾四个边界出发,给出一套可复查的优雅停机写法。316 收藏 -
Python 函数把列表直接写成默认参数时,默认值只在函数定义时创建一次,append 又会原地修改它,所以后续调用会看到上次的数据。本文用最小复现、参数生命周期和 None 哨兵写法,说明如何修复普通业务函数,以及什么时候共享对象可以作为有意的缓存。316 收藏 -
文章 · python教程 | 3星期前 | 文件操作 · Python教程 · pathlib · 异常排查 · Python pathlib 文件迁移 跨文件系统 Path.rename EXDEV
Path.rename 在同一文件系统内很方便,但跨挂载点时可能收到 EXDEV。本文从异常现场入手,区分重命名与复制删除,给出保留元数据、避免半成品和可回滚的 Python 文件迁移写法。314 收藏 -
介绍 Python array 类型码不匹配时的按元素转换方法,并说明浮点精度、溢出、非有限值和原始字节解释的边界。311 收藏 -
文章 · python教程 | 2星期前 | 日志 · 性能优化 · Python教程 · Python 异步日志 QueueListener logging.QueueHandler queue.Full
Python 用 QueueHandler 把日志交给后台线程后,有限队列一旦满了就会触发 queue.Full。本文用可复现实验比较默认处理、显式丢弃和阻塞写入,给出压测指标与上线边界。308 收藏 -
QueueHandler 本身不会自动把日志变成安全的异步链路:如果它把记录送回监听同一队列的日志路径,就会出现递归、重复输出或队列持续增长。本文用最小示例拆开 QueueHandler、QueueListener 与 logger 层级的边界,给出可验证的安全配置。306 收藏 -
用 Python decimal.quantize 处理金额时,先用 Decimal 字符串和 0.01 量子固定小数位,再按业务规则选择 ROUND_HALF_EVEN、ROUND_HALF_UP 或方向性舍入,避免把截断、中点取偶数和远离零混为一谈。306 收藏 -
Python logging 出现重复日志,通常是子 logger 自带 handler 后又因 propagate=True 把同一记录交给 root handler。本文用检查代码和配置边界说明如何定位与修复。306 收藏 -
dataclasses.replace 能创建同类型的新对象,却不会递归复制嵌套配置。本文用服务配置快照说明浅层替换、嵌套对象共享、fields 与 asdict 的边界,并给出可验证的更新流程。304 收藏