python教程技术文章
-
用 pathlib.Path.read_text() 读取配置文件很方便,但默认编码、换行统一和文件不存在等边界不能靠猜。本文从一个小型配置读取函数出发,说明编码如何显式声明、换行如何验收,以及何时应该改用二进制读取。345 收藏 -
文章 · python教程 | 1个月前 | 文件处理 · python · Python TempFile NamedTemporaryFile TemporaryFile TemporaryDirectory
用 tempfile 处理当前流程文件、需要可见路径的外部交接和多文件中间结果,说明 TemporaryFile、NamedTemporaryFile、TemporaryDirectory 的选择、关闭边界与自动清理方式。345 收藏 -
使用 ThreadingHTTPServer 时,多个请求线程可能同时读改写共享字典,导致计数丢失或响应状态不一致。本文用基线指标、最小锁边界和快照模式给出可复现的处理方案。344 收藏 -
文章 · python教程 | 2星期前 | 性能优化 · 缓存设计 · Python教程 · Python functools.lru_cache Python 可变参数缓存键 Python list dict 缓存 Python 缓存失效
围绕 Python functools.lru_cache 讲清 list、dict 等可变参数为什么不能直接进入缓存键,以及如何通过递归规范化、内部缓存函数和主动失效设计出稳定的缓存接口。344 收藏 -
Flask 表单保存后直接渲染页面,刷新浏览器往往会再次提交 POST。用 Post/Redirect/Get 把保存动作和展示页面拆开,再配合 flash 把一次性反馈交给下一次 GET,能让刷新、回退和提示消息各自落在正确边界。343 收藏 -
文章 · python教程 | 3星期前 | Windows · Python教程 · 文件系统 · Python Python 3.15 os.path.isreserved Windows 保留路径 ntpath
Python 3.15 推荐用 os.path.isreserved 判断 Windows 保留路径。本文解释 CON、尾随空格、冒号流等名称为何需要提前拒绝,并给出 Linux 或 macOS 生成 Windows 路径时使用 ntpath.isreserved 的跨平台写法。343 收藏 -
解释 Python zoneinfo 的缓存对象身份,说明 clear_cache、only_keys、no_cache 与 reset_tzpath 的适用场景和副作用。343 收藏 -
讲清 Python 3.14 如何用 uuid.uuid7 生成带毫秒时间的 UUID,读取 time 字段、按对象或字符串排序,并避开跨节点时钟偏差与安全令牌误用。341 收藏 -
Python 用 functools.lru_cache 缓存配置读取函数后,配置文件已经更新,接口却还返回旧值。问题通常不在文件读取,而在缓存键和清理时机。本文从一个可复现的小场景出发,说明 cache_clear、参数设计和并发刷新时需要核对的边界。339 收藏 -
用 asyncio.Semaphore 控制批量协程的并发上限,再配合 asyncio.wait_for 和 gather(return_exceptions=True) 区分超时、成功与失败,让任务在单次请求异常后仍能继续收敛。339 收藏 -
小型 Python JSON API 选 Flask 还是 Django,不要只看轻量或全能。本文按数据层、后台能力、JSON 校验和部署约束给出可执行的选择规则。339 收藏 -
用 Python asyncio.TaskGroup 管理并发任务:理解首个异常如何取消同组任务、如何清理 CancelledError,以及如何用 except* 处理 ExceptionGroup。339 收藏 -
用 json.loads() 的 parse_float 回调把金额 JSON 直接解析为 Decimal,说明默认 float、整数与小数的边界、嵌套字段、异常输入以及后续 JSON 编码的处理方式。337 收藏 -
Python asyncio 任务完成后对象仍存活,通常不是垃圾回收失效,而是协程帧、Task 结果、异常回溯或业务容器仍持有强引用。本文用最小复现和诊断代码定位引用链。335 收藏 -
用 Python ContextVar 在 asyncio 异步任务间传递 request_id,讲清 set、get、reset、create_task 上下文复制、copy_context 和日志排查边界。335 收藏