当使用下面的代码迭代.xz文件时,tar头或其他我不知道的东西似乎被绑定到了.xz.中每个文件的第一行
每个.xz都包含几个.txt文件,我想获取它们的数据。以下是一个小样本数据:https://wetransfer.com/downloads/1264134927500b143acf3aa05d61517520200504170531/47edc4
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.txt0000644000000000000000000000144000000000000015112 0ustar 00000000000000几个挑战级别
0506072-909fa5f2b7a244ebacaa521125ebe7f2.txt0000644000000000000000000000222200000000000015306 0ustar 00000000000000大多数游戏前十名的创建都是为了表扬那些追求卓越的游戏。还有一些是为了取笑那些不切芥末的人。这场比赛是为了积极抨击那些对自己有利的进攻性太强的比赛。请继续阅读十款具有种族歧视性的电子游戏,尽可能避免使用。此列表可能包含一些读者可能会感到冒犯的材料。
03760076-ff4ad186cd4073d31f936f974d3b7b4d.txt00006440000000000000000000006043000000000015217 0ustar 00000000000000Samuel E.Pope急需资金。房东提高了他位于华盛顿西南部的从头到脚美发沙龙的租金,账单堆积如山,他即将关门。
0537010-0d140b52ee6c724ec9e0655f55a2b6.txt0000644000000000000022370000000000000151600ustar 00000000000000在战争的这个星期,1941年10月16日,维希国家元首马雷夏尔·菲利普·佩坦宣布对那些他认为对法国沦陷负有责任的人判处监禁。
我如何才能去掉字符串开头的这些奇怪的行?
我甚至无法使用line = line[find(weird_text) + len(weird_text):]
轻松地删除它们(但我更喜欢不需要这样做的解决方案(。
显然,我应该再次使用tar -xf file
,因为这些文件不是.xz,而是.tar——尽管扩展名不同。