-
ConnectionResetError表明对端主动发送RST断连,常见于长连接空闲超时;需在connect后显式启用TCPKeepalive并调小参数(如Linux设TCP_KEEPIDLE=60秒),同时应用层须实现心跳协议与自动重连机制。
-
Sphinx+autodoc自动生成API文档可行但易失败,因autodoc依赖动态import且需正确配置sys.path、类型提示和模块结构;需在conf.py中插入项目路径、启用typehints和preserve_defaults,并避免顶层副作用代码。
-
os.listdir()返回指定路径下一级子项(文件和文件夹)的名称列表,故len()统计的是条目总数而非纯文件数;需配合os.path.isfile(os.path.join(path,f))过滤才能准确计数。
-
Python中可哈希对象需满足“相等对象哈希值相同”且哈希值生命周期内不可变;内置不可变类型(如int、str、tuple)默认可哈希,可变类型(如list、dict)默认不可哈希;自定义类需同时实现__hash__和__eq__方法,并确保参与哈希的属性逻辑不可变。
-
np.convolve做低通滤波易出错,因默认'full'模式导致输出变长且边界失真;'same'仅截取中间段,未解决零填充污染与相位延迟问题。
-
Python读取TXT乱码主因是编码未显式指定,应据文件实际编码用encoding='utf-8'或'gbk'等;不确定时可用chardet探测;utf-8-sig可自动处理BOM;read()适合小文件,readline()/readlines()按需选择。
-
match-case不是简化if-elif的万能工具,而是专用于嵌套结构、类型+字段组合、多条件解构的利器;用错场景反而降低可读性、引入bug。
-
弱引用不能自动避免内存泄漏,其生效前提是目标对象除弱引用外无其他强引用;典型用途包括WeakValueDictionary缓存、观察者模式解耦等,但需注意key生命周期、线程安全及finalize的不确定性。
-
使用AWSSAM部署Lambda函数时,若通过samdeploy--template-file显式指定模板文件,会导致依赖包(如requirements.txt中声明的pytest)未被正确打包上传,从而在运行时抛出ModuleNotFoundError。根本原因在于该参数绕过了SAM的自动构建产物引用机制。
-
asyncio无分布式锁,需用Redis实现:通过SETkeyvalueNXEX原子加锁,Lua脚本安全解锁,UUID防误删,超时须大于业务耗时,避免contextmanager封装,重视降级与监控。
-
Python处理跨平台换行符时,可通过open函数自动转换或手动替换统一为\n。读取时使用文本模式可自动标准化为\n;需精确控制时可用replace方法将\r\n和\r替换为\n;写入时通过newline参数指定换行格式;批量处理可结合pathlib遍历文件并统一换行符,确保跨平台兼容性。
-
处理大文件需流式读取与增量计算:按行读取最稳妥,分块读取适用于无行结构文件,生成器封装提升复用性,结合csv.DictReader、itertools.islice、Welford算法等实现高效内存控制。
-
direnv加载Python环境变量不生效,主因是shellhook未激活;需在~/.zshrc或~/.bashrc中添加eval"$(direnvhook$SHELL)"并source;.envrc中禁止裸export,须先direnvallow或用export_with_env;layoutpython可自动管理虚拟环境与PYTHONPATH,避免手动sourcevenv/bin/activate;gitclone后必须手动direnvallow才能加载.envrc。
-
requests库中不存在Cookie_Request类,正确操作Cookie应使用requests.Session.cookies或response.headers.get('Set-Cookie');加密Cookie无法解密,重点在于正确携带与更新。
-
aggregate()默认聚合全表数据,无需filter();支持多字段一次计算,返回单字典结果;空值返回None需手动处理;分组聚合须用values()+annotate()。