python教程技术文章
-
Python 3.12 起可以用 sqlite3.Connection.setconfig() 设置布尔型 SQLite DBCONFIG 选项,再用 getconfig() 读取当前连接状态。本文以外键配置为例,说明调用方式、版本与底层 SQLite 能力边界,以及生产初始化策略。283 收藏 -
Python textwrap.dedent 只能移除每行共有的前导空白。制表符和空格虽然都属于空白,却不是相同的前缀字符;本文用混合缩进示例解释现象,并给出先统一制表符再去公共缩进的安全边界。154 收藏 -
通过带初始化校验的冻结数据类示例,说明dataclasses.replace如何构造同类型新对象,解释返回值、init=False、InitVar以及嵌套列表共享的限制。441 收藏 -
Python statistics.fmean 会先把输入转为 float,再计算算术平均,并始终返回浮点数。本文说明普通平均、加权平均、空数据、权重长度和混合数值类型的处理边界。377 收藏 -
Python 的 re.fullmatch 会要求整个输入字符串都符合模式,适合解决 re.match 或 re.search 意外放过前缀、片段的问题。本文对比三种入口,说明换行、尾部字符与 None 判断的边界。208 收藏 -
使用 Python 标准库 tomllib 解析 TOML 时,重复键会触发 TOMLDecodeError。本文说明如何通过异常位置定位冲突、修复表路径中的重复定义,并封装稳定的读取诊断。452 收藏 -
围绕 Python sqlite3 讲清 autocommit、isolation_level、executescript 和 commit/rollback 的边界,帮助写入逻辑避免意外提交。391 收藏 -
用 Python sqlite3.Connection.create_function 把 callable 注册为 SQLite SQL 函数,讲清固定参数、可变参数、deterministic、返回值、异常调试和移除函数的边界。271 收藏 -
Python 3.13 为 queue.Queue 增加了 shutdown(),可以让生产者停止投递、消费者排空已有任务后自然退出,也可以用 immediate=True 立即终止。本文用一个线程生产者消费者示例说明两种模式、ShutDown 异常和 task_done/join 的配合边界。427 收藏 -
说明textwrap.shorten为何在截断前合并空白,以及关闭replace_whitespace仍无法保留原格式的原因。提供摘要与保真前缀预览的独立示例,明确长度预算和Unicode显示限制。500 收藏 -
Python 3.14 的 pathlib.Path.info 为文件类型判断提供可缓存的 PathInfo 对象。本文说明它如何配合 iterdir 减少重复 stat 查询、何时应该回到实时判断,以及缓存、重建 Path 和符号链接的边界。343 收藏 -
Python 3.14 的 pathlib.Path.copy() 可以复制文件或目录树。本文说明目标路径、符号链接跟随、preserve_metadata 元数据保留和跨平台边界,帮助你把本地复制写得清楚。306 收藏 -
Python contextvars 的 set 会返回 Token,使用对应 ContextVar.reset(token) 就能撤销一次临时修改。本文结合异常处理、嵌套 set 和 Python 3.14+ 的上下文管理器写法,说明如何安全恢复旧值。353 收藏 -
文章 · python教程 | 6天前 | 文件处理 · 资源管理 · Python教程 · Python TempFile 临时文件 SpooledTemporaryFile rollover max_size
围绕 tempfile.SpooledTemporaryFile 讲清 max_size、fileno()、rollover() 与 _file 后端的关系,给出内存缓冲、显式落盘和 with 自动收尾的选择方法。348 收藏 -
Python io.BufferedReader.peek 可以在不推进逻辑读取位置的情况下观察二进制流前缀,但返回字节数不保证等于请求值。本文按值班手册说明如何处理短前缀、EOF、非阻塞空结果和长度字段。356 收藏