On Thu, Jan 13, 2011 at 6:30 PM, Alan Gauld <alan.ga...@btinternet.com> wrote:
> Its not clear what exactly the sort criteria is, sorry Alan, I meant that I want to keep the order as is. > however have you looked > at the os.walk() function for traversing directory trees? It may be all > you need. Yes, but I'm not confident with it (the more reason to use it you will say :) ). Below the script I'm working on, rather unstable still. It will be put to work in Cherrypy so I browse through my media directories and send playlists to my media player(s). Very preliminary still. ingo --- %< --- %< --- import os, string, urllib topdirs={ 'Audio': 'c:', 'Video': 'd:', 'Photo': 'e:' } path = 'c:\\Python27' path = os.path.abspath(path) print path topdir = 'Audio' def mkPATH(path, topdirs=topdirs): path=urllib.url2pathname(path) path=string.split(path,'\\',1) return os.path.join(topdirs[path[0]],path[1]) def mkURL(dir): return urllib.pathname2url(dir) def mk_alias(dir, old=topdirs[topdir], new=topdir): return string.replace(dir,old,new) def mk_aliasURL(dir): return mkURL(mk_alias(dir)) def mk_pathlist(path): pathlist=[] dir='' for item in path.split("\\"): dir=os.path.join(dir,item) dir=mkURL(dir) a=[item,dir] pathlist.append(a) return pathlist aliaspath = mk_alias(path) directories = mk_pathlist(aliaspath) files = [] content = os.listdir(path) content.sort() for item in content: fullpath = os.path.join(path, item) if os.path.isdir(fullpath): directories.append([item, mk_aliasURL(fullpath)]) else: files.append([item, mk_aliasURL(fullpath)]) print '\n Path \n', path print '\n AliasPath \n', aliaspath print '\n Dirs \n', directories print '\n Files \n', files _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor