Import name conflicts
Tim Johnson
tim at akwebsoft.com
Tue Apr 18 14:28:44 EDT 2017
Using python 2.7~
For testing and edification purposes:
I have a project which has a controllers package at the directory
level just below the root.
>From the top-level (root) of the project, I start my python
interpreter.
The packages is called 'controllers' and has a submodule named 'imp'
I do the following:
>>> a = __import__('imp')
>>> dir(a)
['C_BUILTIN', 'C_EXTENSION', 'IMP_HOOK', 'NullImporter',
'PKG_DIRECTORY', ....]
# object a is the builtin imp module
Now I do
>>> b = __import__('controllers.imp', fromlist=['controllers'])
>>> dir(b)
['COLORS', 'CONTROLLER', 'DBNAME', 'DBPWD', 'DBUSERNAME', 'ID_COL',
'JOB', 'MYTABLE', 'RECID', 'TABLEFORMAT', ...]
# object b is the imp module in the controllers package.
# I've resolved a potential name collision ...
Now, suppose a python upgrade provides a package called controllers
or there's some great third-party package available called
controllers.
How do I access the 'global' controllers package?
thanks
--
Tim
http://www.akwebsoft.com, http://www.tj49.com
More information about the Python-list
mailing list