python教程技术文章
-
Flask默认不支持真正异步任务,因其基于同步WSGI协议,无法识别协程;需用Celery等工具将任务卸载至独立worker进程执行。433 收藏 -
用 Python 标准库 sched 做一个本地轻量定时任务实验,覆盖任务注册、轮询运行、周期任务、失败重试、运行检查和清理边界,适合小脚本和本地自动化场景。432 收藏 -
用 Python 标准库 contextlib 写一套资源清理小配方,从自定义上下文管理器、suppress 到 ExitStack,解决文件、临时目录和多资源关闭顺序问题。429 收藏 -
用 Python 做临时文件夹清理,重点不在递归删除本身,而在边界、阈值、白名单和试运行。本文从一个小工具项目出发,带你完成扫描、过滤、预览、删除确认和运行验收,适合处理 __pycache__、旧日志、构建缓存等可清理文件。428 收藏 -
Python logging 的 Filter 不只是返回 True 或 False。从 Python 3.12 起,挂在 Handler 上的过滤器可以返回替换后的 LogRecord,实现按输出目标改写字段而不污染其他 Handler。本文用 request_id 和脱敏字段拆开旧写法、新语义、并发边界与兼容处理。428 收藏 -
文章 · python教程 | 2天前 | 并发 · 标准库 · 配置管理 · python · 版本升级 · 环境变量 并发安全 os.environ Python 3.14 os.reload_environ
Python 3.14 新增 os.reload_environ(),可以把进程外修改过的环境变量重新同步到 os.environ 与 os.environb。本文用配置热刷新场景拆开缓存来源、os.putenv 差异、线程安全边界和兼容版本写法。428 收藏 -
文章 · python教程 | 2个月前 | 日志 · 工程化 · 异步编程 · 故障排查 · 可观测性 · Python教程 · Python 异步任务 可观测性 logging contextvars 生产实践 QueueHandler QueueListener request_id JSON日志
从 Python 服务 request_id 丢失和日志阻塞问题入手,实战讲解 contextvars、logging.Filter、JSON 日志、QueueHandler/QueueListener 与上线检查。427 收藏 -
文章 · python教程 | 1星期前 | 反射 · python · 兼容性 · 类型检查 · 类型注解 · format Python 3.14 annotationlib get_annotations ForwardRef 延迟注解
Python 3.14 新增 annotationlib,为读取延迟求值的类型注解提供 VALUE、FORWARDREF 和 STRING 三种格式。本文用插件注册器场景说明三种结果如何选择、未定义前向引用怎样保留,以及为什么生产代码不应随意求值注解,并给出旧版本兼容路径。425 收藏 -
Python 3.14 为 pathlib.Path 增加了 Path.info,用缓存的文件类型信息减少批量扫描中的重复判断。本文从目录扫描小项目出发,演示 Path.info 的使用边界、缓存何时失效、如何用 Path(p) 获得新缓存,以及什么时候仍应调用 is_file、is_dir 和 stat。420 收藏 -
本文介绍如何使用 Pandas 的 melt() 方法,将 Excel 中以人员为列标题的宽格式排班表(Date、Bob、Joe、Jane),高效重塑为标准长格式(Date、Name、On/Off),适用于后续分析、可视化或导入数据库。 本文介绍如何使用 Pandas 的 `melt()` 方法,将416 收藏 -
文章 · python教程 | 1天前 | 并发 · 异常处理 · python · 异步编程 · Python CancelledError 结构化并发 ExceptionGroup asyncio.TaskGroup
asyncio.TaskGroup 会在首个非取消异常出现后取消同组任务,并在退出时抛出 ExceptionGroup。本文用批量抓取场景拆开异常聚合、取消传播和结果收集边界,给出可复现的验收代码。414 收藏 -
用 pathlib.Path.resolve 规范化用户提供的文件名,并通过根目录边界校验拦截 .. 与符号链接带来的目录穿越风险。414 收藏 -
处理大文件上传时,反复 bytes 切片会让内存峰值和复制次数一起上升。本文用 Python memoryview、bytearray 和 readinto 组织固定缓冲区,核对切片视图、尾块长度、复用缓冲区和异常恢复边界。413 收藏 -
使用 Python http.server 模块时,若在 do_POST 中直接调用 self.rfile.read() 而不指定字节数,会导致服务器阻塞等待连接关闭,而非及时读取完请求体;正确做法是依据 Content-Length 头精确读取对应字节数。 在 Python 的 http.serv412 收藏 -
文章 · python教程 | 2个月前 | 性能优化 · 异步编程 · fastapi · 生产实践 · Python教程 · API服务 · Python API服务 FastAPI asyncio httpx 生产实践 lifespan BackgroundTasks run_in_threadpool
从 Python FastAPI 线上慢请求和后台任务丢失入手,讲清 lifespan 资源管理、阻塞调用隔离、BackgroundTasks 边界、超时和上线检查。411 收藏