Elena Schulz wrote at 2003-9-30 16:21 +0200:
I try to do the following inside a python script:
myDict={'myKey':'myVal'} myString='myDict'
myObject = getattr(thisScriptNameSpace, myString)
What should I write for 'thisScriptNameSpace' to get 'myObject' pointing to 'myDict'?
Please do not abuse the local namespace... Use something else for this, a dictionary for example.
In a 'normal' Python-Modul 'thisScriptNameSpace' should be 'self'.
No. In a Python module, you would use "globals().get". "globals()" gives you the module's dictionary.
It should be possible in a Python Script, ins't it?
A Python Script is a function. The builtin function "locals()" returns the function's local namespace as a dictionary. The effect of modifications to this dictionary is undefined. Almost surely, "locals" is not available in a Python Script. You could also use "eval", but this, too, is not available in a Python Script... Thus, use a dictionary... Dieter