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

Reply via email to