klappnase wrote:
I am using python-2.3.4 and get unicode errors:
f = os.path.join(u'/home/pingu/phonoripper', u'\xc3\u20ac')
os.path.isfile(f)
True
os.access(f, os.R_OK)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeEncodeError: 'ascii' codec can't encode characters in position
24-25: ordinal not in range(128)
That's apparently a bug in os.access, which doesn't support Unicode file
names. As a work around, do
def access(name, mode, orig=os.access):
try:
return orig(name, mode)
except UnicodeError:
return orig(name.encode(sys.getfilesystemencoding(), mode))
os.access=access
Apparently, access is used so rarely that nobody has noticed yet (or
didn't bother to report). os.path.isfile() builds on os.stat(), which
does support Unicode file names.
Regards,
Martin
--
http://mail.python.org/mailman/listinfo/python-list