vegetax wrote:
I am trying to make convert a directory "tree" in a list of list, but cant
find the algoritm =( ,for example a directory tree like :

#!/usr/bin/python
from os import listdir
from os.path import isdir,join,basename

dirpath  = '/tmp/test/'
res = []

def rec(f):
print f
for ele in listdir(f):
ele = join(f,ele)
if isdir(ele):
# append the directory name res.append(basename(ele))
rec(ele)
else :
res.append(basename(ele))


rec(dirpath)
print res

The problem is that you are always appending individual names to the same list. If you make rec() return a list and append that to the current list you get what you want:


#!/usr/bin/python
from os import listdir
from os.path import isdir,join,basename

dirpath  = '/tmp/test/'

def rec(f):
    res = []
    for ele in listdir(f):
        res.append(ele)
        ele = join(f,ele)
        if isdir(ele):
            res.append(rec(ele))
    return res

print rec(dirpath)

Kent
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to