On Fri, Nov 14, 2008 at 10:40 AM, Indian <write2abdul@gm ail.comwrote:
You don't need and shouldn't be using `exec` here. It appears as
though you're just doing the following in a much more obtuse and
unnecessarily complicated manner:
def OpenKey(rootkey , path, reg):
open_key = reg['HKLM']
for key in path.split('\\' ):
open_key = open_key[key]
return open_key
Lesson: Don't use `exec`.
More importantly, what led you to think you needed to use it here in
the first place?
Cheers,
Chris
--
Follow the path of the Iguana...
Hi Friends
>
I'm getting the TypeError Unsubscriptable object when using Exec in a class
>
Here's the example
>
class Fake(object):
def __init__(self, reg):
self._reg = reg
>
def OpenKey(self, rootkey, path):
open_key = self._reg
path_string='[\'HKLM\']'
for key in path.split('\\' ):
path_string += '[\'%s\']'%key
a='d=open_key%s '%path_string
exec(a)
return d
>
When i create a claassobject and call the method Openkey i get the above
error but it works fine in the below example without class
>
def OpenKey(rootkey , path, reg):
open_key = reg
path_string='[\'HKLM\']'
for key in path.split('\\' ):
path_string += '[\'%s\']'%key
a='d=open_key%s '%path_string
print a
exec(a)
return d
>
I'm getting the TypeError Unsubscriptable object when using Exec in a class
>
Here's the example
>
class Fake(object):
def __init__(self, reg):
self._reg = reg
>
def OpenKey(self, rootkey, path):
open_key = self._reg
path_string='[\'HKLM\']'
for key in path.split('\\' ):
path_string += '[\'%s\']'%key
a='d=open_key%s '%path_string
exec(a)
return d
>
When i create a claassobject and call the method Openkey i get the above
error but it works fine in the below example without class
>
def OpenKey(rootkey , path, reg):
open_key = reg
path_string='[\'HKLM\']'
for key in path.split('\\' ):
path_string += '[\'%s\']'%key
a='d=open_key%s '%path_string
print a
exec(a)
return d
though you're just doing the following in a much more obtuse and
unnecessarily complicated manner:
def OpenKey(rootkey , path, reg):
open_key = reg['HKLM']
for key in path.split('\\' ):
open_key = open_key[key]
return open_key
Lesson: Don't use `exec`.
More importantly, what led you to think you needed to use it here in
the first place?
Cheers,
Chris
--
Follow the path of the Iguana...
>
What am i doing wrong in the class?Any thought on this would be helpful :)
>
Thanks in Advance
>
--
>
What am i doing wrong in the class?Any thought on this would be helpful :)
>
Thanks in Advance
>
--
>