2006年09月22日 星期五 10:56
&¥mî =íj Þi׫È8J뢽¢Ë ø¥zÝ·¶ò#Åݱo\ãvÅþ1sL]ëGhÂyhiÖ§©®&£¢¤¥«fzØ^+©¢7§í´Óm5jyÚªâj:)zJZ¶g éòr'!Ë6©iÖ³º$çzw(v)àº0Úò~^ðòÀ`²N¹k£ëy§ew¬{¦Úk{_j)m¢·vZjYb²×+y«^×Üën®shë$ayø«²Ùbè^i׫ËZ®Ý_¢¸¢¶§è¬µªíéå®"~-
2006年09月22日 星期五 11:31
应该用 sys.getfilesystemencoding() 这个获取当前系统的编码吧? 返回'mbcs' 用locale返回的事cp936。 理论上是指的一个东西,但是用在encode和decode里面就不是了。 在 06-9-22,Beinan Li<li.beinan在gmail.com> 写道: > > hi, all, > > 想从m3u文件里面读取路径, 然后交由一个ID3tag reader读内容, > 在读mp3文件阶段出现异常, > IOError: (2, 'No such file or directory', > 'I:\\\xce\xd2\xb5\xc4\xd2\xf4\xc0\xd6\\0.----- download > -----\\anna maria jopek-pat metheny - upojenie - 2002\\01 - anna maria > jopek-pat metheny - cichy zapada zmrok.mp3\n') > > 似乎是encoding问题, 代码如下: > l_row = [] > l_path = [] > try: > f = open(PATH_PLAYLIST, 'r') > l_row = f.readlines() > except: > print "fail to read local list ... create it" > f.close() > return None > # skip the first line header > i_start = 1 > for i in range(i_start, len(l_row)): > if i%2 == 0: # odd line: path, NOTE: indices based on 0! > l_path.append(l_row[i]) > # post-processing for winamp lists > for i in range(len(l_path)): > if l_path[i].startswith("\\"): > l_path[i] = os.path.normpath(os.path.join(DRIVE_MUSIC+":", l_path[i])) > > # read id3tags > for i_s in range(len(l_path)): > s = l_path[i_s] > print "index:", i_s > id3tag = ID3.ID3(s) > > 我试过 > import locale > ENCODING = locale.getdefaultlocale()[1] > 然后对所有path string使用 > s.encode(ENCODING) 或者decode(ENCODING) > 得到异常: > UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-6: > ordinal not in range(128) > > 请教诸位达人 > 多谢~ > > bn > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to > python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > Detail Info: > http://python.cn/mailman/listinfo/python-chinese >
2006年09月22日 星期五 15:40
设置缺省编码: import sys reload(sys)#必须要有 sys.setdefaultencoding("gbk") 获取缺省编码: sys.getdefaulencoding()
Zeuux © 2025
京ICP备05028076号