env: python2.7
在python 下做zip 解压文件时出现文件乱码,导致后面pandas读不到文件,当然也在网上找到一篇链接Python解压缩ZIP文件出现乱码问题的解决方案
按文中去找zipfile 源码,并没有找到那段代码,估计时版本不一致。但是自己调试后发现是gb2312所以只需如此改改
zip_file = zipfile.ZipFile(zip_files_name, 'r')
if os.path.isdir(zip_files_name.name + "_files"):
pass
else:
os.mkdir(zip_files_name.name + "_files")
zip_path = "%s%s%s" % (path, zip_files_name.name.encode('utf-8'), "_files")
for file in zip_file.namelist():
filename = file.decode('gb2312').encode('utf-8')
print(filename)
zip_file.extract(file, zip_path) # 解压缩ZIP文件
os.chdir(zip_path) # 切换到目标目录
os.rename(file, filename) # 重命名文件
zip_file.close()
网友评论