On 30 Apr, 2009, at 21:33, Piet van Oostrum wrote:

Ronald Oussoren <ronaldousso...@mac.com> (RO) wrote:

RO> For what it's worth, the OSX API's seem to behave as follows:
RO> * If you create a file with an non-UTF8 name on a HFS+ filesystem the
RO> system automaticly encodes the name.

RO> That is, open(chr(255), 'w') will silently create a file named '%FF'
RO> instead of the name you'd expect on a unix system.

Not for me (I am using Python 2.6.2).

f = open(chr(255), 'w')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
IOError: [Errno 22] invalid mode ('w') or filename: '\xff'


That's odd. Which version of OSX do you use?

ron...@rivendell-2[0]$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.5.6
BuildVersion:   9G55

[~/testdir]
ron...@rivendell-2[0]$ /usr/bin/python
Python 2.5.1 (r251:54863, Jan 13 2009, 10:26:13)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.listdir('.')
[]
>>> open(chr(255), 'w').write('x')
>>> os.listdir('.')
['%FF']
>>>

And likewise with python 2.6.1+ (after cleaning the directory):

[~/testdir]
ron...@rivendell-2[0]$ python2.6
Python 2.6.1+ (release26-maint:70603, Mar 26 2009, 08:38:03)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.listdir('.')
[]
>>> open(chr(255), 'w').write('x')
>>> os.listdir('.')
['%FF']
>>>



I once got a tar file from a Linux system which contained a file with a
non-ASCII, ISO-8859-1 encoded filename. The tar file refused to be
unpacked on a HFS+ filesystem.
--
Piet van Oostrum <p...@cs.uu.nl>
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: p...@vanoostrum.org

Attachment: smime.p7s
Description: S/MIME cryptographic signature

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

Reply via email to