best way to share an instance of a class among modules?
torriem at gmail.com
Thu Feb 7 01:03:20 CET 2013
On 02/06/2013 03:41 PM, CM wrote:
> Thank you. But, I'm sorry, I'm not following this enough to get it to
> work. Shouldn't it be a little more like this:
No, not exactly.
> # in utilities module
> shared_cursor = DatabaseAccess_instance #but how? see my question
> # in importer
> import utilities
> self.shared_cursor = utilities.shared_cursor ("self" is here to make
> cursor available to all functions in importer
Umm no. For one you're using self incorrectly. For two, it already is
visible to all functions in the module. You just have to refer to it as
> My only problem, then, is I create the shared_cursor from within a
> function within the instance of DatabaseAccess(). How then do I pass
> it from within the function's namespace to the module's namespace so
> that I can do that first line?
Every function in a module has access to the module's global namespace.
And your shared_cursor is there, inside of the utilities reference,
since utilities was imported into your module, "importer."
More information about the Python-list