【发布时间】:2016-10-10 11:23:24
【问题描述】:
我有一个文件,它本身包含许多 zlib 档案。 文件结构如下:
+-------------------------+
|+-----------------------+|
|| CMF+FLG (78DA) ||
|+-----------------------+|
|+-----------------------+|
||...compressed data 1...||
|+-----------------------+|
|+-----------------------+|
|| ADLER32 ||
|+-----------------------+|
|
|+-----------------------+|
|| CMF+FLG (78DA) ||
|+-----------------------+|
|+-----------------------+|
||...compressed data 2...||
|+-----------------------+|
|+-----------------------+|
|| ADLER32 ||
|+-----------------------+|
|
|+-----------------------+|
|| CMF+FLG (78DA) ||
|+-----------------------+|
|+-----------------------+|
||...compressed data 3...||
|+-----------------------+|
|+-----------------------+|
|| ADLER32 ||
|+-----------------------+|
| |
|.........................|
| |
|+-----------------------+|
|| CMF+FLG (78DA) ||
|+-----------------------+|
|+-----------------------+|
||...compressed data n...||
|+-----------------------+|
|+-----------------------+|
|| ADLER32 ||
|+-----------------------+|
+-------------------------+
我需要遍历所有这些存档并提取它们。 我尝试了以下代码,但这仅从文件中提取第一个存档。
for filename in sys.argv[1:]:
with open(filename, 'r') as compressed:
with open(filename + '-decompressed', 'w') as expanded:
data = zlib.decompress(compressed.read())
expanded.write(data)
【问题讨论】:
-
您似乎可以在
CMD+FLG标记上拆分文件,尽管我不清楚是什么保护您免受压缩数据部分之一中包含的相同序列的影响。跨度> -
如何在不删除分隔符的情况下进行拆分?