Python os.walk + follow symlinks
Question:
How do I get this piece to follow symlinks in 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
Answers:
Set followlinks
to True
. This is the fourth argument to the os.walk
method, reproduced below:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
This option was added in Python 2.6.
EDIT 1
Be careful when using followlinks=True
. According to the documentation:
Note: Be aware that setting followlinks
to True can lead to
infinite recursion if a link points to a parent directory of itself.
walk() does not keep track of the directories it visited already.
How do I get this piece to follow symlinks in 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
Set followlinks
to True
. This is the fourth argument to the os.walk
method, reproduced below:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
This option was added in Python 2.6.
EDIT 1
Be careful when using followlinks=True
. According to the documentation:
Note: Be aware that setting
followlinks
to True can lead to
infinite recursion if a link points to a parent directory of itself.
walk() does not keep track of the directories it visited already.