-2
我有一个文件,其中包含许多zlib档案本身。该文件的 结构如下:阅读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'标记,尽管我不清楚什么保护你免受包含在一个压缩数据部分中的相同序列的影响。 –
如何拆分而不删除分隔符? – Yukarin