【问题标题】:decode every file in a zip file with python使用python解码zip文件中的每个文件
【发布时间】:2021-04-21 09:14:45
【问题描述】:

我有一个压缩文件file link

它是用 utf-8 代码编码的,我如何解码其中的每个文件?我试过但失败了:TypeError:使用'utf-8'编解码器解码失败(TypeError:需要一个类似字节的对象,而不是'ZipFile')

from zipfile import ZipFile
import codecs

with ZipFile('articles.zip', 'r') as zip:
    with zip.open('articles/document0001.txt') as file:
       codecs.decode(file, encoding='utf-8', errors='strict')

那个 Zip 上还有 100 个文件,有什么聪明的方法可以一次性对所有文件进行解码?

【问题讨论】:

标签: python decode


【解决方案1】:

您可以在文字上使用bytes.decode

from zipfile import ZipFile

with ZipFile('articles.zip', 'r') as z:
    with z.open('articles/document0001.txt') as file:
        file_text = file.read().decode('utf-8')
        print(file_text)  # or do whatever else you want to do with it.

【讨论】:

  • 谢谢!另外,如果我在该 zip 中有 100 个 txt 文件,我是否需要重复使用 z.open('articles/document0001.txt') 作为文件:file_text = file.read().decode('utf-8') 打印(file_text) 100 次?有更简单的方法吗?谢谢!
  • 你可以遍历它们,如果你需要帮助,我建议打开一个新问题!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 2011-12-27
  • 2018-08-02
  • 1970-01-01
相关资源
最近更新 更多