Python os.walk + 跟随符号链接
我该如何让这段代码在Python 2.6中跟随符号链接呢?
def load_recursive(self, path):
for subdir, dirs, files in os.walk(path):
for file in files:
if file.endswith('.xml'):
file_path = os.path.join(subdir, file)
try:
do_stuff(file_path)
except:
continue
1 个回答
65
将 followlinks
设置为 True
。这是 os.walk
方法的第四个参数,下面是它的代码:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
这个选项是在 Python 2.6 中新增的。
编辑 1
使用 followlinks=True
时要小心。根据文档:
注意:要知道,如果设置
followlinks
为 True,可能会导致无限递归,特别是当链接指向它自身的父目录时。walk()
不会记录它已经访问过的目录。