Problem in accessing files with unicode fonts.

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Tue Feb 24 03:44:27 EST 2009


En Tue, 24 Feb 2009 05:15:33 -0200, venu madhav <venutaurus539 at gmail.com>  
escribió:

>> > def findFile(dir_path):
>> >     for name in os.listdir(dir_path):
>> >         full_path = os.path.join(dir_path, name)
>> >         print full_path
>> >         if os.path.isdir(full_path):
>> >             findFile(full_path)
>> >         else:
>> >             v = unicode(full_path,errors='skip')
>> >             i = win32api.GetFileAttributes(v)
>> >
>> > findFile("F:\\DataSet\\Unicode")
>> > ---------------------------------------------------------------
>> > Now when I run this scirpt, the full_path variable which should  
>> contain
>> the
>> > name of the file has "????" for non english ( I tried Arabic)  
>> characters.
>> As
>> > a result the getfileattributes function is failing to recognise that  
>> file
>> > and is raising an exception.
>> >     i = win32api.GetFileAttributes(v)
>> > error: (123, 'GetFileAttributes', 'The filename, directory name, or
>> volume
>> > label syntax is incorrect.')

If you call os.listdir with an unicode directory, it returns unicode file  
names.
That is (after correcting the previous error in findFile), call it using:
findFile(u"F:\\DataSet\\Unicode")

-- 
Gabriel Genellina




More information about the Python-list mailing list