python教程技术文章
-
Python异步任务取消需协程主动配合:调用Task.cancel()仅发取消请求,协程须在可取消挂起点响应CancelledError或定期检查cancelled();长循环应插入awaitasyncio.sleep(0)或显式判断;timeout控制取消边界,shield保护关键清理;CancelledError不可被Exception捕获,需显式处理以确保资源释放。440 收藏 -
直接选择Python3.10及以上版本最合适,因其性能更强、语法更现代、错误提示更清晰;Python2已停止维护,资源不兼容且存在安全隐患;推荐安装python.org提供的最新稳定版如Python3.12,并通过python--version验证版本。437 收藏 -
用 Python 标准库 zipfile 做一个可靠的批量打包脚本:遍历源目录、保留相对路径、跳过缓存和日志文件,写入压缩包后再校验文件数量、路径和 CRC 结果。437 收藏 -
围绕 Python 定时任务上云,按负载、约束、方案对比、推荐架构、风险点和落地清单,比较单机 cron、容器任务、队列 Worker 和函数运行方案。435 收藏 -
Flask默认不支持真正异步任务,因其基于同步WSGI协议,无法识别协程;需用Celery等工具将任务卸载至独立worker进程执行。433 收藏 -
用 Python 标准库 sched 做一个本地轻量定时任务实验,覆盖任务注册、轮询运行、周期任务、失败重试、运行检查和清理边界,适合小脚本和本地自动化场景。432 收藏 -
直接用pika封装而非Celery,因后者抽象过深、依赖繁重;pika更轻量可控,但需自行实现连接池、重连、消息确认等关键逻辑。430 收藏 -
用 Python 标准库 contextlib 写一套资源清理小配方,从自定义上下文管理器、suppress 到 ExitStack,解决文件、临时目录和多资源关闭顺序问题。429 收藏 -
文章 · python教程 | 3星期前 | 日志 · 工程化 · 异步编程 · 故障排查 · 可观测性 · Python教程 · Python 异步任务 可观测性 logging contextvars 生产实践 QueueHandler QueueListener request_id JSON日志
从 Python 服务 request_id 丢失和日志阻塞问题入手,实战讲解 contextvars、logging.Filter、JSON 日志、QueueHandler/QueueListener 与上线检查。427 收藏 -
数据可视化是模型训练过程可理解、可诊断、可优化的关键环节,核心在于快速定位欠拟合/过拟合、梯度消失、数据偏斜、学习率不适等问题,常用TensorBoard+PyTorchLightning监控训练曲线、直方图分析特征与梯度分布、Grad-CAM诊断错误样本、t-SNE/UMAP检查数据分布一致性。422 收藏 -
文章 · python教程 | 3星期前 | 性能优化 · 异步编程 · fastapi · 生产实践 · Python教程 · API服务 · Python API服务 FastAPI asyncio httpx 生产实践 lifespan BackgroundTasks run_in_threadpool
从 Python FastAPI 线上慢请求和后台任务丢失入手,讲清 lifespan 资源管理、阻塞调用隔离、BackgroundTasks 边界、超时和上线检查。411 收藏 -
__new__是最可靠的禁止实例化方式,因其在对象创建最早阶段介入,早于__init__且未分配内存,用TypeError拦截可彻底防止半成品对象产生,避免子类误禁需检查clsisYourClass,优于ABC抽象基类的接口约束目的。406 收藏 -
Playwright中page.pdf()导出空白或失败,根本原因是Chromium默认禁用打印功能且页面未充分渲染;需显式启用--enable-printing、等待networkidle、切换emulate_media("print")并校验PDF内容有效性。403 收藏 -
Flask-SocketIO不能直接用原生WebSocket协议,因其基于自有Socket.IO协议(含握手、心跳、包编码、命名空间等),与标准WebSocket不兼容;必须使用socket.io-client等官方客户端,而非newWebSocket()。395 收藏 -
GroupBy未返回结果是因为它返回延迟计算对象,需接聚合方法如sum();agg()易因列名错误或格式不规范报KeyError;transform()适合等长广播,apply()用于复杂逻辑但需注意索引;NaN键默认被剔除,需dropna=False保留。390 收藏