Python namespace in between builtins and global?
        Posted  
        
            by Paul
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Paul
        
        
        
        Published on 2010-06-09T23:15:45Z
        Indexed on 
            2010/06/09
            23:22 UTC
        
        
        Read the original article
        Hit count: 342
        
Hello, As I understand it python has the following outermost namespaces:
Builtin - This namespace is global across the entire interpreter and all scripts running within an interpreter instance.
Globals - This namespace is global across a module, ie across a single file.
I am looking for a namespace in between these two, where I can share a few variables declared within the main script to modules called by it.
For example, script.py:
import Log from Log
import foo from foo
log = Log()
foo()
foo.py:
def foo():
    log.Log('test')  # I want this to refer to the callers log object
I want to be able to call script.py multiple times and in each case, expose the module level log object to the foo method.
Any ideas if this is possible?
It won't be too painful to pass down the log object, but I am working with a large chunk of code that has been ported from Javascript. I also understand that this places constraints on the caller of foo to expose its log object.
Thanks, Paul
© Stack Overflow or respective owner