拆分

时间:2016-10-23 16:54:34

标签: python gzip gz

我有一个500MB的gz文件,我把它拆分如下

split -b 100m "file.gz" "file1.gz.part-"

分割后获得以下文件

file1.gz.part-aa
file1.gz.part-ab
file1.gz.part-ac
file1.gz.part-ad
file1.gz.part-ae

我正在尝试使用gzip在gzip文件中迭代对象,如下所示

 with gzip.open(filename) as f:
      for line in f:

这适用于file1.gz.part-aa,但我正在接受其他4个部分

  

不是gzip压缩文件

2 个答案:

答案 0 :(得分:1)

gzip文件有一个标题,用于将其标识为gzip文件。拆分后,只有第一个文件将具有此标头。在处理之前重新加入文件。

答案 1 :(得分:1)

您可以split之前gzip

split -l 300000 "file.txt" "tweets1.part-"
      ^ every 300000 lines

请注意,split的输入是 NOT 一个*.gz文件,但是原始的面向行的文件。

然后gzip每个部分分开:

gzip tweets1.part-*

这也将删除部分(gzip选项以保留它们。)

在python中,您现在可以单独使用每个部分。