![]() |
1
13
唯一的解决方案是重写用于压缩文件以从缓冲区读取的方法。将其添加到标准库中是很简单的;我有点惊讶它还没有完成。我想大家都同意整个界面需要大修,这似乎阻碍了任何增量改进。
|
![]() |
2
9
Chris B.'s answer 并创建了一个完整的解决方案。如果其他人对此感兴趣,请参阅:
|
![]() |
3
7
变更 Python 3.5 support 写信给 溪流。
这意味着现在
您可以联机尝试此代码: https://repl.it/@IvanErgunov/zipfilegenerator
还有另一种方法可以创建不带
附笔。 Python Zipstream by allanlei 这是一种过时且不可靠的方法。这是一次尝试,以增加对不可见流的支持,然后才正式完成。 |
![]() |
4
3
gzip.gzip文件将数据写入gzip块中,您可以根据从文件中读取的行数设置块的大小。 例如:
|
![]() |
5
3
基本压缩由zlib.compressobj完成。ZipFile(在MacOSX上的Python2.5下,似乎要编译)。Python2.3版本如下所示。 您可以看到,它以8k块构建压缩文件。提取源文件信息非常复杂,因为zip文件头中记录了许多源文件属性(如未压缩的大小)。
|
![]() |
6
1
一些(许多?大多数?)压缩算法是基于查看整个系统的冗余 全部的 一些压缩库会根据对文件最有效的压缩算法在几种压缩算法之间进行选择。
因此,它不会与生成器或文件一起工作,因为它们太大而无法加载到内存中。这就解释了Zipfile库的局限性。 |
![]() |
7
1
如果有人偶然发现这个问题,这在2017年仍然与Python 2.7相关,这里有一个真正的流式zip文件的工作解决方案,不需要像其他情况那样要求输出是可查找的。秘密在于设置通用位标志的第3位(参见 https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
|
![]() |
8
0
gzip库将采用类似文件的对象进行压缩。
现在我看到原来的提问者不会接受Gzip:-( |
![]() |
9
0
现在,使用python 2.7,您可以将数据添加到zipfile而不是文件: http://docs.python.org/2/library/zipfile#zipfile.ZipFile.writestr |
![]() |
10
0
这是2017年。如果您仍希望优雅地完成此操作,请使用 Python Zipstream by allanlei 到目前为止,它可能是实现这一点的唯一编写良好的库。 |
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |