python教程技术文章
-
本文介绍如何使用 Pandas 的 melt() 方法,将 Excel 中以人员为列标题的宽格式排班表(Date、Bob、Joe、Jane),高效重塑为标准长格式(Date、Name、On/Off),适用于后续分析、可视化或导入数据库。 本文介绍如何使用 Pandas 的 `melt()` 方法,将416 收藏 -
Python 3.15 新增 Tachyon 采样分析模块。本文按脚本、运行中进程、单次快照和历史 profile.bin 四种场景选择命令,再说明采样率、线程范围、pstats 与 flamegraph 的适用边界。415 收藏 -
Python mmap 修改文件后,先确认使用 ACCESS_WRITE 共享映射,再调用 mmap.flush;如果要求更强的崩溃持久性,再对同一个文件描述符调用 os.fsync。本文说明 ACCESS_COPY、缓冲文件、局部刷盘和关闭顺序的边界。415 收藏 -
比较 Python Path.replace 与 rename 的覆盖语义,解释相对路径、跨文件系统、Windows 文件占用及异常处理,并给出不先删目标的替换示例和迁移清单。415 收藏 -
文章 · python教程 | 2个月前 | 并发 · 异常处理 · python · 异步编程 · Python CancelledError 结构化并发 ExceptionGroup asyncio.TaskGroup
asyncio.TaskGroup 会在首个非取消异常出现后取消同组任务,并在退出时抛出 ExceptionGroup。本文用批量抓取场景拆开异常聚合、取消传播和结果收集边界,给出可复现的验收代码。414 收藏 -
用 pathlib.Path.resolve 规范化用户提供的文件名,并通过根目录边界校验拦截 .. 与符号链接带来的目录穿越风险。414 收藏 -
处理大文件上传时,反复 bytes 切片会让内存峰值和复制次数一起上升。本文用 Python memoryview、bytearray 和 readinto 组织固定缓冲区,核对切片视图、尾块长度、复用缓冲区和异常恢复边界。413 收藏 -
Python imaplib 获取邮件时,应同时使用 UID SEARCH 与 UID FETCH,并将账号、邮箱、UIDVALIDITY 和 UID 作为身份范围。本文给出只读示例,说明响应序号、邮件消失与批处理检查点的边界。413 收藏 -
使用 Python http.server 模块时,若在 do_POST 中直接调用 self.rfile.read() 而不指定字节数,会导致服务器阻塞等待连接关闭,而非及时读取完请求体;正确做法是依据 Content-Length 头精确读取对应字节数。 在 Python 的 http.serv412 收藏 -
ExitStack 的关键不是设置参数,而是在资源获取后登记清理动作。本文说明 enter_context、callback、push、pop_all 的区别,并按生命周期排查资源未关闭、清理顺序错误、栈复用和异步混用问题。411 收藏 -
解释 Python Fraction 接收 float 后出现长分数的原因,并对比字符串、Decimal、整数分子分母和 limit_denominator 的适用场景。411 收藏 -
文章 · python教程 | 1个月前 | 日志 · logging · Python教程 · Python contextvars request_id LogRecord logging.Filter
用 Python contextvars 保存 request_id 和用户标识,再由 logging.Filter 将上下文字段注入 LogRecord,统一交给 Formatter 输出;文章同时说明 Handler 挂载位置、缺省值和 finally reset 的并发边界。410 收藏 -
@runtime_checkable 让 Protocol 可用于 isinstance,但运行时只检查成员是否存在,不验证参数、返回值或属性类型。本文拆解静态类型域与运行时结构域,并给出 callable、签名、适配器和业务契约的分层补强方法。410 收藏 -
文章 · python教程 | 3星期前 | 标准库 · python · 数据处理 · 问题排查 · collections.Counter 库存扣减 Python Counter.subtract 缺失项目 负计数
Counter.subtract 会保留零值和负值,真正判断缺失项目不能只看扣减结果。本文用库存与需求示例区分原始不存在、数量不足和恰好用完,并给出可复用的诊断函数。410 收藏 -
文章 · python教程 | 1星期前 | 异步编程 · Python教程 · asyncio · Python 清理 asyncio CancelledError TaskGroup Task.cancel
Python asyncio 任务取消时,CancelledError 会在下一个可挂起点进入协程。本文用 try/finally 组织资源清理,说明 gather、TaskGroup、timeout 的收尾边界,以及为什么通常要重新抛出取消异常。410 收藏