Mike Mike - 8 months ago 50
Python Question

What is the Python way to walk a directory tree?

I feel that assigning files, and folders and doing the += [item] part is a bit hackish. Any suggestions? I'm using Python 3.2

from os import *
from os.path import *

def dir_contents(path):
contents = listdir(path)
files = []
folders = []
for i, item in enumerate(contents):
if isfile(contents[i]):
files += [item]
elif isdir(contents[i]):
folders += [item]
return files, folders


Take a look at the os.walk function which returns the path along with the directories and files it contains. That should considerably shorten your solution.