python教程技术文章
-
文章 · python教程 | 4星期前 | 异常处理 · Python教程 · 兼容性 · ExceptionGroup Python contextlib.suppress BaseExceptionGroup except*
讲清 Python 3.12 contextlib.suppress 对 ExceptionGroup 的部分抑制语义,并给出 Python 3.11 except* 的兼容处理与测试边界。431 收藏 -
logging比print更专业,因其实现了Logger、Handler、Formatter三层解耦,支持多级过滤与滚动写入;basicConfig仅在root未配置时生效,模块化项目应显式创建logger及handler;RotatingFileHandler可实现按大小轮转,需设置maxBytes和backupCount;一个logger可绑定多个handler以同时输出到控制台和文件,但需分别设置各级别;日志输出需同时满足logger和handler的level,且默认propagate为True。431 收藏 -
pytest_runtest_logreport不适合脱敏,因为它仅接收已字符串化的report(如longrepr、capstdout),不接触原始参数、断言表达式或日志record对象;敏感信息在进入该hook前就已固化为不可逆文本,正则替换易漏误伤且无法覆盖动态值。431 收藏 -
pynput是跨平台轻量级鼠标键盘事件录制方案,需同步时间戳、区分事件类型并保存为JSON;回放时按时间差延迟,避免权限与坐标缩放问题。431 收藏 -
Python多线程共享数据须避免竞态条件,优先使用queue.Queue、threading.local()或Lock;禁用全局变量直接读写、非原子字典操作及“只读”假设。431 收藏 -
用paramiko批量改密码须先确认目标主机支持SSH密码修改,因默认不分配pty导致passwd卡住;应使用invoke_shell()模拟终端交互,逐行发送密码并处理提示符、错误和特殊字符,同时记录详细执行日志以排查问题。431 收藏 -
使用try-except捕获await异常,create_task需显式await或检查异常,gather默认中断任务但可配置,wait需手动检查,全局处理器用于监控未捕获异常。431 收藏 -
图像旋转检测常用直接回归角度值方法,即用CNN提取特征后接全连接层预测连续角度,需通过正余弦编码或分桶分类+回归微调解决角度周期性问题,并配合同步标签的旋转增强与平滑后处理。431 收藏 -
requests.Session()默认连接池maxsize=10、block=False,易因连接耗尽抛MaxRetryError;需通过HTTPAdapter显式配置pool_maxsize、pool_block等参数并mount生效。431 收藏 -
容灾设计的核心目标是“故障不中断服务”,需通过架构层消除单点故障,确保数据库、缓存、消息队列等组件多活与自动切换,Python服务须无状态、可降级、可观测,并定期开展混沌工程演练。431 收藏 -
Tushare需token鉴权且免费版限频,Baostock需显式login/logout;两者复权逻辑、日期格式、停牌处理及限流机制均不同,数据使用前须核对文档更新。431 收藏 -
最常见原因是未设inplace=True或字典键与列名不完全匹配;rename()默认返回新DataFrame,键需严格一致(含大小写、空格),MultiIndex需特殊处理;函数式rename(columns=lambdax:x.replace('id','ID'))支持批量替换。431 收藏 -
Python集合底层用哈希表实现,不保证顺序;add()加单个可哈希元素,update()加任意可迭代对象并逐个add;运算符要求两边均为set,方法可接受任意可迭代对象;difference()左结合,非数学意义的多集差;元素须哈希稳定。431 收藏 -
fromkeys()用于创建新字典,以可迭代对象的元素为键,默认值为None或指定值;若默认值为可变对象,所有键共享同一引用,修改一个键的值会影响其他键。431 收藏 -
本文介绍了如何使用Ruff工具在Python项目的特定目录中忽略特定的规则。通过配置pyproject.toml文件中的per-file-ignores选项,您可以灵活地指定要忽略的文件或目录,以及要忽略的规则类型,从而更好地管理代码检查。431 收藏