python解压zip文件出现乱码文件名,python文件乱码

  python解压zip文件出现乱码文件名,python文件乱码

  在zipfile中获得的文件名。ZipFile有中文和日文字符,但它可能是乱码,因为

  在zip标准中,文件名的编码不是unicode,可能是各种软件根据系统默认字符集采用的(这是猜测)。但是,zipfile在根据文件标志进行检测时,只支持cp437和utf-8。

  特定zipfile模块中的源代码如下:

  ifflags0x800:

  # UTF-8文件名扩展

  filename=filename . decode( utf-8 )

  else:

  #HistoricalZIPfilenameencoding

  filename=filename . decode( cp437 )除了可见代码被正确识别为utf8时,会被识别解码为CP 437代码,但如果实际上是gbk等代码,就会变成乱码。所以解决的办法在于解码成cp437后,再手动转换成正确的代码。

  在实际过程中,可以用zipfile对已经解压的文件进行解压,然后直接对解压文件夹中的乱码文件进行重命名。具体实施过程如下:

  进口货

  defan_garcode(目录名称):

  防篡改代码

  os.chdir(目录名)

  fortemp_nameinos.listdir( . ):

  尝试:

  #使用cp437解码并恢复文件名

  new _ name=temp _ name . encode( CP 437 )

  #win一般使用gbk编码。

  新名称=新名称.解码( gbk )

  #重命名乱码文件名和文件夹名。

  os.rename(临时名称,新名称)

  #将重新编码的文件名恢复为原始文件名

  临时名称=新名称

  例外:

  #如果已被正确识别为utf8编码,则不需要编码。

  及格

  ifos . path . isdir(temp _ name):

  #对子文件夹的递归调用

  一个代码(临时名称)

  #记得返回上级目录

  os.chdir( . )

  An_garcode(os.getcwd())很多python的培训视频都在流行的IT软件开发工作室。欢迎在线学习!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python文件路径操作方法总结怎么写,python文件路径操作方法总结表,python文件路径操作方法总结
  • python文件路径操作方法总结怎么写,python文件路径操作方法总结图
  • ,,PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
  • python文件加密存储,python通过文件读写,复制图片
  • python文件打开的默认方式是只读,python以只读方式打开文本文件的参数
  • python文件读写,python将数据写入文件和从文件读取
  • 怎么把python文件变成可执行exe,python将py文件编译成exe文件
  • 打开python文件的两种方式,python文件是怎么打开
  • python文件操作write,python文件write函数的用法
  • linux如何编译python文件,linux上python编译器
  • python打不开文件怎么回事,做好的python文件直接打开怎么不能用
  • python中绝对路径,python文件相对路径怎么写
  • python对文件的操作方法有哪些,python文件的基本操作
  • python关于文件的题目,python文件概述
  • python文件可以直接运行吗,python直接运行
  • 留言与评论(共有 条评论)
       
    验证码: