我使用Python中的rarfile和unrar来提取rar档案中的一些汉字命名文件。 当我使用拉罗布吉.提取器(TargetDir)函数,它起作用。 但当我使用
#encoding:utf-8
...
for fl in rarobj.namelist():
rarobj.extract(fl,TargetDir)
出现错误:
^{pr2}$变更如下:
#encoding:gbk
...
for fl in rarobj.namelist():
rarobj.extract(fl,TargetDir)
还有一个错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)
和使用
for fl in rarobj.namelist():
rarobj.extract(fl.encode('gbk'),TargetDir)
可以消除这个错误,但是不能提取fl文件,因为文件名不在rar存档中。在
我如何处理这个问题?在
在名字列表()是
[u'E:\\2y.pptx', u'E:\\\u6211\u662fabc.pptx', 'E:\\3b.docx', u'E:\\2x.docx', 'E:\\1a.pptx', 'E:\\1b.docx']
使用
open
代替extract
相关问题 更多 >
编程相关推荐