问题标签 [python-zipfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
44 浏览

python - 使用python比较zip文件中的两个文本文件

我想使用 python 在两个不同的 zip 文件中比较两个具有相同名称和相同相对路径的文本文件。

我一直在尝试搜索各种方法,但发现在我的案例中没有一个可用的顶级解决方案。

我的代码:

笔记:

我在这里使用了 pathlib 作为路径。如果with z1.open(f, 'r')...我使用 pathlib 路径而不是对路径进行硬编码,我将得到<class 'KeyError'>: "There is no item named WindowsPath('SomeFolder/somefile.txt') in the archive".

此外,即使我对路径进行硬编码,用于比较的文件读取缓冲区也总是空的。因此,在这种情况下,比较实际上不起作用。

我被困在这个奇怪的案例中,非常感谢任何帮助。

0 投票
1 回答
42 浏览

python - 如何在 Python 中忽略或删除 zip 中的损坏文件

我有一个大的 zip 文件(40 GB),我正在尝试提取它。但有些文件已损坏。因此,每当我尝试时,extractall()我都会BadZipfile: Bad CRC-32 for file 'filename.jpg'出错。当我使用testzip()时,我能够看到第一个损坏的文件。这是我正在使用的代码:

现在我的问题是,有没有办法忽略或删除损坏的文件,以便我继续解压缩过程?

0 投票
0 回答
33 浏览

python - 使用python,看一个压缩文件的内容,不用读整个文件

使用 python,我想查看 .zip (deflate) 的内容而不读取整个文件。我有一个非常慢的网络驱动器,其中包含大量压缩文件。我希望能够打开文件并查看内容,而无需先下载整个文件。

相比之下,当使用 Windows 10 文件资源管理器打开 .zip 时,它会下载整个文件。另一方面,7zip“打开存档”让您无需下载整个文件即可查看内容。

我怎么能用python做到这一点。我尝试使用以下代码,但与 windows10 文件资源管理器一样,它会在打印文件名之前下载整个文件。

0 投票
1 回答
45 浏览

python - Python 使用 zipfile.ZipFile 读取文件的 n 行

我想知道是否可以读取 zip 文件中包含的每个文件的第二行?

谢谢你的帮助。

0 投票
1 回答
58 浏览

python - Python - 比 ZipFile 更快的数据压缩库

我正在使用 django 3.0.7 作为框架在 Python 3.9 中开发 Web 应用程序。在 Python 中,我正在创建一个函数,该函数可以将字典转换为 json,然后使用 ZipFile 库转换为 zip 文件。目前这是正在使用的代码:

然后我将 zip 保存在 Azure Blob 存储中。它可以工作,但问题是这个功能对我来说有点慢。我尝试使用 zlib 库,但性能没有改变,而且创建的 zip 文件似乎已损坏(我什至无法使用 WinRAR 手动打开它)。是否有任何其他库可以提高压缩速度(不涉及压缩比)?

0 投票
1 回答
14 浏览

django - Django 如何逐步将数据写入一个巨大的 zipfile FileField

我有一个这样的Django模型:

我想做两个操作:

  • 首先制作一个空的zipfile big_file(不太重要)
  • 然后逐步将文件添加到我的 zipfile 中(并迭代保存)

整个过程如下所示:

但我无法找出正确的文件描述符/类文件对象/文件路径/django-File对象组合......而且似乎在django中我总是必须 save(filename, content). 但是我的内容可能是千兆字节,所以将它全部存储到“内容”变量中听起来不合理?

0 投票
1 回答
44 浏览

python - ValueError: write() 在 Python zipfile 中需要模式“w”、“x”或“a”

我正在尝试打开存档中的特定文件,然后向其中写入一些内容。我正在使用zipfile.open()函数来访问文件:

但是,它给了我一个关于名为“hello.txt”的重复文件的警告。之后,我收到以下错误:

我在这里做错了什么?

我的完整追溯:

0 投票
1 回答
18 浏览

python - 如何在内存中创建包含多个文件和子文件夹的 zip 存档?

以下运行,但导致解压缩失败的文件:

然后测试:

什么不见​​了?

更新:

这似乎现在可以工作,不确定它是否被最大程度地压缩?

0 投票
1 回答
15 浏览

python-3.x - 将文件夹 zip 文件解压缩重命名为

可能只是一个边缘案例,但我使用 zip 文件模块将一个 zip 文件提取到一个目录中。解压时,zip 文件命名它解压到的目录。

如果有一种方法可以指定 Zip 文件创建的文件夹的名称以将文件提取到?我遇到了一个错误,因为我正在使用压缩的同一个文件夹来测试 zip 文件,并且它一直使用已经存在的旧文件夹名称,因此会引发错误。这是我的代码: