python教程技术文章
-
用 asyncio.Queue(maxsize) 控制生产者回压,配合 task_done、join 和 Python 3.13 的 shutdown,构建有界且能正常收尾的异步生产者消费者模型。330 收藏 -
用 Python asyncio.TaskGroup 管理并发任务:理解首个异常如何取消同组任务、如何清理 CancelledError,以及如何用 except* 处理 ExceptionGroup。339 收藏 -
文章 · python教程 | 1星期前 | 文件处理 · python · Python TempFile NamedTemporaryFile TemporaryFile TemporaryDirectory
用 tempfile 处理当前流程文件、需要可见路径的外部交接和多文件中间结果,说明 TemporaryFile、NamedTemporaryFile、TemporaryDirectory 的选择、关闭边界与自动清理方式。345 收藏 -
讲清 Python 跨时区计算为什么不能固定加减小时,并用 zoneinfo、aware datetime、tzdata 和 fold 处理夏令时与重复时间。459 收藏 -
Python sqlite3 批量写入时,提交和回滚的关键是先划定事务边界:整批导入用连接上下文管理器,分批导入就按批次提交并只回滚当前批次。325 收藏 -
Python 用 subprocess 调用命令时,显式设置 encoding 和 text 可以直接得到正确中文;如果输出编码不稳定,则保留 bytes 后再用 errors 策略解码。301 收藏 -
Python 函数把列表直接写成默认参数时,默认值只在函数定义时创建一次,append 又会原地修改它,所以后续调用会看到上次的数据。本文用最小复现、参数生命周期和 None 哨兵写法,说明如何修复普通业务函数,以及什么时候共享对象可以作为有意的缓存。316 收藏 -
Python 复制嵌套列表后原数据也变化,通常是浅复制只复制了外层容器。本文用 id、is 和 copy.deepcopy 定位共享层级,并说明深复制的适用边界。278 收藏 -
Python dataclass 不能直接把列表作为默认值。本文解释 default_factory 的创建时机、实例隔离、显式传参和自定义工厂写法,并整理可变字段的排查清单。261 收藏 -
Python logging 同一条日志打印两遍,通常不是 log() 调用了两次,而是子 logger 和 root logger 都挂了 Handler,记录又沿层级传播。本文给出定位清单和两种单一责任点的修复方式。144 收藏 -
使用 Python argparse 的 add_subparsers 和 add_parser 拆分 list、create 等子命令,再用 set_defaults 绑定处理函数,解决参数归属和命令派发问题。443 收藏 -
Python 相对路径默认以进程当前工作目录为起点,不是以脚本文件所在目录为起点。本文用 pathlib 区分 Path.cwd()、__file__ 和 resolve(),给出项目资源与用户输入的稳定路径写法及排查清单。126 收藏 -
文章 · python教程 | 2星期前 | 文件处理 · csv · Python教程 · 排错 · csv.Writer Python写CSV 多余空行 newline lineterminator
Python 使用 csv.writer 导出数据时,如果打开文件没有传 newline='',某些平台会把 CSV 自带的行结束符再次转换,表格软件看起来就像每条记录之间多了一行。本文从换行边界、lineterminator、字段内换行和排查方法说明如何稳定写出 CSV。361 收藏 -
Python asyncio 任务完成后对象仍存活,通常不是垃圾回收失效,而是协程帧、Task 结果、异常回溯或业务容器仍持有强引用。本文用最小复现和诊断代码定位引用链。335 收藏 -
小型 Python JSON API 选 Flask 还是 Django,不要只看轻量或全能。本文按数据层、后台能力、JSON 校验和部署约束给出可执行的选择规则。339 收藏