使用 lzma 对 .xz 文件进行迭代时,总是将 tar 页眉与第一行联系起来。

问题描述 投票:0回答:1

当使用下面的代码对.xz文件进行迭代时,似乎tar头或其他我不知道的东西被绑在了.xz中每个文件的第一行。

每个.xz都包含了几个.txt文件,我想获取它们的数据。下面是数据的一个小样本。https:/wetransfer.comdownloads1264134927500b143acf3aa05d6151752020050417053147edc4。

import os, sys
import lzma

strPath = "./openwebtext"
fileList = os.listdir(strPath)
fileList = [os.path.join(strPath, item) for item in fileList]

for file in fileList:
    with lzma.open(file, "rt") as raw_data:
        for line in raw_data:
            print(line)

产量

0478010-c220e751f9b4344cfb419c85e1f9cd34.txt000064400000000000000000144000000000000015112 0ustar 00000000000000A几个挑战关卡。

0506072-909fa5f2b7a244ebacaa521125ebe7f2.txt000064400000000000000000000022220000000015306 0ustar 000000000000000000大多数游戏前十名榜单的创建都有明确的目的,即赞扬那些追求卓越的标题。其他人是为了取笑那些不切实际的芥末。这个榜单是为了积极地咆哮那些太过令人反感的游戏。请继续阅读十款具有种族攻击性的电子游戏,它们应该尽可能地避免。这个列表可能包含一些读者可能会觉得冒犯的材料。

0376076-ff4ad186cd4073d31f936f974d3b7b4d.txt0000644000000000000000000000604300000000000015217 0ustar 00000000000000Samuel E.Pope需要钱快。房东提高了他位于华盛顿州西南部的Head to Toe发廊的租金,账单堆积如山,他濒临关门。

0537010-0d140b52bee6c724ec9e065e5f55a2b6.txt00006440000000000000000000002237000000000000000015160 0ustar 000000000000000000这个星期在战争中,1941年10月16日,维希国家元首菲利普-佩丹(Maréchal Philippe Pétain)宣布对那些他认为应对法国沦陷负责的人进行监禁判决。


我如何才能摆脱这些奇怪的线条在字符串的开始?

我甚至无法成功地用以下方法去除它们 line = line[find(weird_text) + len(weird_text):] 但我更喜欢不需要这样的解决方案)。

python compression lzma
1个回答
0
投票

显然,我应该用 tar -xf file 同样,由于文件不是.xz,它们是.tar - 尽管扩展名不同。

© www.soinside.com 2019 - 2024. All rights reserved.