[Python-Dev] Dots in name break import -- fixable? (original) (raw)
Guido van Rossum guido at python.org
Tue Jan 6 18🔞00 EST 2004
- Previous message: [Python-Dev] Dots in __name__ break import -- fixable?
- Next message: [Python-Dev] Dots in __name__ break import -- fixable?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
There must be some code in the import machinery that assumes (with excellent reason) that the name of the module from which it is called will never contain periods.
Right. Periods in module names are used for the package namespace. (Import some code that uses packages and then print sys.modules.keys() to see how.)
Consider the following:
>>> name = 'a.b.c' >>> import string >>> string <module 'a.b.string' from '/usr/lib/python2.3/string.pyc'> The peculiar behavior is only triggered by periods: >>> name = ''.join(map(chr, range(1, 256))).replace('.', '') >>> import string >>> string <module 'string' from '/usr/lib/python2.3/string.pyc'> Would this be easy to fix?
No.
It would fall into the realm of "so don't do that!" except that Zope's Python Scripts set their name to their Zope Id, which can contain periods.
Too bad.
--Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] Dots in __name__ break import -- fixable?
- Next message: [Python-Dev] Dots in __name__ break import -- fixable?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]