0

我正在尝试在 Python 中解码 .bz2 文件。当我使用解压缩方法时,问题似乎出现了,因为它在原始数据之前添加了标题/前缀。

import bz2 

with open("/Users/X/exampleFiles/secondP5D.bz2", "rb") as f:
    decompressedFile = bz2.decompress(f.read())
    df= decompressedFile.decode('ISO-8859-1')
    print('Decompressed :' + df)

输出为:po_dùdbplist00 òî3¸¦!@öÎÚh@åU-<[3³{ëTÕÍuGò|À6C0Õ4ñqí¿W·GÝ>òSþUé¶ÓÙÅ。û®fP±b±Oã0SÞº%PaxHeader/secondP5D000644 000765 000024 00000000033 13705257402 016161 xustar00davidstaff000000 000000 27 mtime=1595236098.142357 secondP5D000644 000765 000024 00000000060 13705257402 014210 0ustar00davidstaff000000 000000 ES0113000058876511WG0F;2020/03/07 01:00;0;333;;

其中数据应仅为 ES0113000058876511WG0F;2020/03/07 01:00;0;333;;

如果我不使用 ISO-8859-1 的解码功能,我会收到错误,例如

文件“/Users/X/Downloads/zeppelin-0.8.2-bin-all/interpreter/python/py4j-0.9.2/src/py4j/protocol.py”,第 202 行,在 smart_decode 返回 unicode(s,“utf -8") UnicodeDecodeError:'utf8'编解码器无法解码位置 549 中的字节 0xf5:无效的起始字节

如何打开文件并使用解压缩器所以没有标题?如果我在 mac 命令行中使用 tar xvf secondP5D.bz2 执行相同操作,则生成的文件不包含标题/前缀

4

0 回答 0