python教程技术文章
-
Path.resolve 遇到不存在路径时,默认 strict=False 会尽可能解析并保留剩余路径;必须确认文件存在时使用 strict=True 或 exists(),并区分 FileNotFoundError 与其他 OSError。278 收藏 -
讲清 Python asyncio.timeout_at 如何用 loop.time() 计算绝对截止时间,正确处理 TimeoutError,并用 expired() 判断超时边界。470 收藏 -
文章 · python教程 | 6天前 | 异常处理 · Python教程 · 兼容性 · ExceptionGroup Python contextlib.suppress BaseExceptionGroup except*
讲清 Python 3.12 contextlib.suppress 对 ExceptionGroup 的部分抑制语义,并给出 Python 3.11 except* 的兼容处理与测试边界。431 收藏 -
文章 · python教程 | 6天前 | 资源管理 · python · Python memoryview memoryview.release Python 缓冲区协议 bytearray BufferError mmap 资源释放
Python memoryview 不会复制底层数据,但会持有缓冲区导出,导致 bytearray 无法调整大小或映射资源无法关闭。本文用 release、with 和派生视图示例说明正确的释放边界,并区分视图释放与底层文件资源关闭。275 收藏 -
介绍 Python array 类型码不匹配时的按元素转换方法,并说明浮点精度、溢出、非有限值和原始字节解释的边界。311 收藏 -
Python mmap 修改文件后,先确认使用 ACCESS_WRITE 共享映射,再调用 mmap.flush;如果要求更强的崩溃持久性,再对同一个文件描述符调用 os.fsync。本文说明 ACCESS_COPY、缓冲文件、局部刷盘和关闭顺序的边界。415 收藏 -
Python socket 已设置 SO_REUSEADDR 仍绑定失败时,先区分 TIME_WAIT、活动监听、IPv4/IPv6 地址范围和 SO_REUSEPORT,再按正确顺序排查。154 收藏 -
使用 ThreadingHTTPServer 时,多个请求线程可能同时读改写共享字典,导致计数丢失或响应状态不一致。本文用基线指标、最小锁边界和快照模式给出可复现的处理方案。344 收藏 -
用 Python 处理查询参数时,quote_plus 会把空格编码为加号、把字面加号编码为 %2B;本文对比 quote、urlencode 和手写查询串的适用边界。453 收藏 -
json.loads 的整数限制和 JSON 文档大小限制不是一回事。本文用 parse_int 建立单个整数位数边界,再配合入口字节数检查,避免超大整数输入拖垮解析。212 收藏 -
Python zoneinfo 遇到夏令时回拨造成的重复小时,需要用 fold=0 和 fold=1 区分较早、较晚的瞬时点;从 UTC 转换时可让 zoneinfo 自动判断,并在接口或数据库中按需保存 UTC、IANA 时区名和 fold。102 收藏 -
解释 Python Fraction 接收 float 后出现长分数的原因,并对比字符串、Decimal、整数分子分母和 limit_denominator 的适用场景。411 收藏 -
Python decimal 的精度由 Context 控制。本文说明 Decimal 输入与运算精度的区别,并用 localcontext 和显式 Context 隔离局部计算,避免污染全局规则。346 收藏 -
Python re 的可选命名分组未参与匹配时默认返回 None,整体匹配失败则返回 None 的 Match。本文用 group、groupdict 和 fullmatch 讲清回溯后的读取方式,并区分缺失字段、空字符串与业务默认值。162 收藏 -
Python csv.DictReader 遇到数据行缺列时默认用 restval 补齐。本文从表头、分隔符、编码和 newline 入手排查,并说明 restval、restkey、fieldnames 与必填字段校验的边界。434 收藏