python教程技术文章
-
Python 动态调用函数时,inspect.signature、Signature.bind 和 BoundArguments.apply_defaults 可以把参数匹配从运行时报错提前到调用前校验。本文用一个命令分发场景拆开位置参数、关键字参数、缺省值和可变参数的边界。467 收藏 -
用 Python sqlite3.Connection.set_authorizer 在 SQL 进入 SQLite 编译阶段前拦截动作,理解 SQLITE_OK、SQLITE_DENY、SQLITE_IGNORE 的差异,并划清审计与安全边界。467 收藏 -
Python argparse 的子命令经常需要共享配置参数。本文用一个可运行的命令行示例说明父解析器、默认值、dest 命名和 help 输出之间的边界,并给出拆分与验收方法。464 收藏 -
遇到遗留命令或 POSIX 系统传来的非 UTF-8 环境变量时,Python 的 os.environb 可以保留原始 bytes。本文按触发场景、支持检查、读取流程和显式解码说明怎样安全接入,并梳理它与 os.environ 的同步关系及失败处理。464 收藏 -
从一次文件下载路径穿越排查出发,给出 pathlib 的安全拼接模板:拒绝绝对路径,解析根目录与候选路径,再用 relative_to 验证目录归属,并说明符号链接、strict 参数和竞态边界。463 收藏 -
Python functools.cached_property 的缓存写在实例同名属性上。修改源数据后删除该属性,下一次读取就会重新计算;本文同时说明 __dict__、__slots__ 与并发访问边界。463 收藏 -
文章 · python教程 | 2个月前 | 标准库 · 安全 · python · 类型注解 Python 3.14 annotationlib get_annotations ForwardRef
Python 3.14 新增 annotationlib,允许按 VALUE、FORWARDREF 和 STRING 三种格式读取延迟注解。本文用插件注册和文档生成两个小场景,拆开格式选择、未定义名称与不可信注解的风险边界。462 收藏 -
用 pathlib.Path.rglob 递归查找 Python 文件时,结合 Path.parts 排除 build、dist 和缓存目录,避免误删同名路径并保持结果稳定。461 收藏 -
讲清 Python 跨时区计算为什么不能固定加减小时,并用 zoneinfo、aware datetime、tzdata 和 fold 处理夏令时与重复时间。459 收藏 -
Python subprocess 同时捕获 stdout 和 stderr 时,父进程若只读取一侧或先 wait 可能因管道写满而卡住。本文用 communicate 收集双流,并说明 TimeoutExpired 后 kill 与再次 communicate 的安全收尾方式。459 收藏 -
文章 · python教程 | 2个月前 | 日志 · python · 运维 · logging · 多进程日志 日志滚动 Python logging.handlers RotatingFileHandler 备份数量
Python 的 RotatingFileHandler 可以按文件大小切换日志文件,但 backupCount、encoding、delay 和多进程写入边界很容易被误配。本文从一个日志文件不断覆盖的现场出发,逐项验证滚动规则、备份数量和进程隔离问题。458 收藏 -
Python 的 Popen.communicate 超时后,不能只捕获异常就结束。本文从输出管道、TimeoutExpired、kill 与再次 communicate 四个环节说明如何终止子进程、回收句柄,并保留已经产生的 stdout 和 stderr。457 收藏 -
文章 · python教程 | 2个月前 | Python教程 · pathlib · 文件系统 · Python 3.14 跨平台路径 pathlib.Path.from_uri file URI 百分号编码
Python 3.14 的 pathlib.Path.from_uri() 用于把 file URI 转成路径对象。本文从 file: 前缀、百分号编码、localhost 主机名和 Windows UNC 边界出发,给出可验证的解析与异常处理示例。455 收藏 -
文章 · python教程 | 2个月前 | 性能优化 · python · Python教程 · Python 3.15 lazy import PEP 810 惰性导入 __lazy_modules__
Python 3.15 通过 lazy import 和 __lazy_modules__ 提供显式惰性导入。本文说明代理对象、首次访问、错误后移、旧版本兼容与渐进接入边界,帮助命令行工具缩小启动阶段的依赖加载范围。453 收藏 -
用 Python 处理查询参数时,quote_plus 会把空格编码为加号、把字面加号编码为 %2B;本文对比 quote、urlencode 和手写查询串的适用边界。453 收藏