This occurred to me while reading the PEP 3131 discussion, and while
it's not limited to PEP 3131 concerns, I don't believe I've seen
discussed yet elsewhere. What is the interaction between import or
__import__ and Unicode module names (or at least Unicode strings
describing them). Currently in python 2.5, __import__ appears coerce
to str, leading to the following error case:

>>> __import__(unicodedata.lookup('GREEK SMALL LETTER EPSILON'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b5' in
position 0: ordinal not in range(128)

With str being the Unicode type in py3k, this branch of the potential
problem needs to be addressed clearly, whether by defining __import__
as converting through ASCII, or by defining a useful semantic. If PEP
3131 is to be accepted, then it should probably address whether import
will work on non-ASCII identifiers, and if so what the semantics are
(if __import__ would otherwise limit to ASCII).

I'm a little worried on the implementation side, because while on
Windows it should be easy to use unicode file APIs, on Linux the
filenames may or may be UTF-8 friendly.

Michael
-- 
Michael Urman
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to