在支持目录符号链接的实际系统上,按Python 3.15.2文档对os.walk的说明,默认不会下钻指向目录的符号链接;当followlinks=True时,遍历才可能进入链接目标。问题在于它不记录已经访问过的目录。如果链接解析后指回当前遍历树的祖先,或几个链接构成闭环,os.walk就可能再次进入同一真实目录,表现为目录反复出现、层级不断加深,严重时可能无法自然结束。这个结论只适用于真实的目录符号链接;Windows junction和普通快捷方式不能直接混同。

适用条件要先限定:只讨论实际支持目录符号链接、且os.walk能够识别的环境。观察时不要只看链接名称或图标,要核对传入os.walk的真实top、链接解析后的目标,以及调用是否真的使用了followlinks=True。判断条件可以分三种结果:未开启跟随,或链接不指向当前top的祖先链,通常不会由这个链接造成祖先环;已开启且链接指回祖先或闭环,才可能出现反复遍历,甚至无限扩展;若链接指向树外且业务确需覆盖,也应由维护者先限定深度和目录范围,再做受控跟随。多个链接指向同一真实目录但没有回指祖先时,可能只是重复访问而非无限递归,也要通过记录区分。
风险在于,重复遍历会放大扫描时间、磁盘读取和日志或队列体积,让原本有限的目录检查变成持续扩展;若把遍历结果直接交给删除、同步或备份动作,错误范围可能被放大。此时删链接目标或改共享目录并不可取,既可能破坏现场,也可能影响其他使用者。应先停止扩展扫描,保留现有记录和链接状态,再判断问题来自参数、链接目标还是起点选择。
下一步应由维护者处理,而不是把遍历直接接删除。先以只读方式记录真实top、链接目标、followlinks设置、已访问的真实路径或平台可用的文件标识,并限制深度和目录范围;设计环路识别,例如发现回指祖先或重复真实目录时跳过并留痕,验证后再决定是否允许跟随。若只是junction或快捷方式,应按对应平台语义另核,不套用符号链接的结论。
兰山区台式电脑用户可拨400-877-9605,先整理真实起点、符号链接目标及followlinks设置,不删除目标或共享目录。电脑快修网提供信息展示与第三方维修对接,具体地址、电脑侧检查是否支持及安排需当次核实,启用范围不代表即时履约。