Global Namespace

Charlie Dyson charlie at charliedyson.net
Sun Jun 17 22:07:20 CEST 2001


Uwe Hoffmann - nospam at nospam.de wrote on Sunday 17 June 2001 18:15:

> Charlie Dyson wrote:
>> 
>> This question either has a simple answer, or there is no way to do this
>> at the moment. I want to be able to set a variable in the global
>> namespace to a given value. Easy? What if all you have is a string
>> containing the name of the variable. I need a pointer to the global
>> namespace. So
>> 
>> class MyClass:
>>         def mymethod(self, varname, varvalue):
>>                 setattr(pointer_to_global_namespace, varname, varvalue)
> 
> i think you can use:
> globals()[varname] = varvalue
> instead of setattr(....)
>> 
>> m = MyClass()
>> m.mymethod('var', 'ASDF')
>> print var # Should print 'ASDF'
>> 
>> Any ideas? Is there a __builtins__ funtion that provides a
>> reference/pointer/whatever you call it to the global namespace.
>> 
>> Thanks in advance,
>> 
>> Charlie Dyson - charlie at charliedyson.net
> 

Thanks, that's exactly what I wanted to know - the existance of the 
globals() fuction. This should solve some problems for me. As you can 
probably tell, I haven't been using Python for very long.

(Also, I recently discovered I can use nested functions PHP style - is this 
a new feature?)

Thanks again,

Charlie Dyson - charlie at charliedyson.net




More information about the Python-list mailing list