Figured there was some super fast efficient way of doing it. Only buy I get is if there is a non-directory in the hierarchy...which happens all the time for me, damn .DS files...
On Jun 22, 1:21 pm, Chris G <[email protected]> wrote: > recursion seems a little easier: > > root = '/tmp/base' > import os > > def fill(dir): > subs = os.listdir(dir) > return dict(zip(subs, (fill(os.path.join(dir,s)) for s in subs))) > print {root : fill(root)} > # {'/tmp/base': {'child_1': {'sub_1': {}}, 'child_2': {'sub_2': {}}}} > > On Tue, Jun 22, 2010 at 3:39 PM, shawnpatapoff <[email protected]> > wrote: > > Well, I had some ideas what I wanted to do, but in the end went with > > this: > > > def populateDict(self, pth): > > lastDir = None > > vStr = None > > for root, dirs, files in os.walk(pth): > > r= root.split('geo_cache')[1][1:] > > if len(r) > 0: > > keys = r.split('/') > > kStr = 'self.cacheDict' > > for k in keys: > > kStr += '["' + k + '"]' > > kStr+='={}' > > exec(kStr) > > > On Jun 22, 12:14 pm, Chris G <[email protected]> wrote: > >> So are you stuck on the correctness or the efficiency of what you have? > > >> On Tue, Jun 22, 2010 at 1:39 PM, shawnpatapoff <[email protected]> > >> wrote: > >> > Hey Chris, > > >> > I looked at os.walk and it does work nice. My issue is actually > >> > capturing the data into a nested dictionary correctly. > > >> > On Jun 22, 10:37 am, Chris G <[email protected]> wrote: > >> >> If it's an existing directory structure, you could just use os.walk. > > >> >> On Tue, Jun 22, 2010 at 1:08 PM, shawnpatapoff > >> >> <[email protected]> wrote: > >> >> > Hey Everyone, > > >> >> > I've been trying a decent solution for getting a dictionary filled > >> >> > with a specific directory structure. > > >> >> > base- > >> >> > - child_1- > >> >> > | -sub_1 > >> >> > | > >> >> > - child_2- > >> >> > - sub_2 > > >> >> > I would look like: > >> >> > myDict{base:{child:{sub_1}},{child_2:{sub_2}}} > > >> >> > Been messing with various methods, non which seem to be that > >> >> > efficient. Anyone have any ideas that they would want to share? > > >> >> > -s > > >> >> > -- > >> >> >http://groups.google.com/group/python_inside_maya > > >> > -- > >> >http://groups.google.com/group/python_inside_maya > > > -- > >http://groups.google.com/group/python_inside_maya > > -- http://groups.google.com/group/python_inside_maya
