问题标签 [tarfile]

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 投票
2 回答
2559 浏览

python - 在 python 中导航一个大的 tar.gz 文件而不先提取它

我已经看到了这个问题,但我需要别的东西。

我的文件包含大量按变量名组织的文本文件(数十万个)。就像是

等等。问题是我没有一个 readme.txt 文件来告诉我 tar 文件中有多少个文件夹或它们是如何命名的(我编造的)(或者每个文件夹中有多少个站点)。现在我只想阅读 filename.tar.gz 的结构并打印类似

在开始提取文件之前,我需要阅读它的结构,因为我只对某些文件夹感兴趣,而不是所有文件夹。

如果我使用

它将打印所有文件,它们有数十万个,我不希望这样,但我不知道如何设置它。

0 投票
0 回答
84 浏览

python - Python tarfile gzipped 文件大于源文件的总和

我有一个 Python 例程,它将文件记录存档到 GZipped tarball 中。输出文件似乎比源文件大得多,我不知道为什么。作为问题规模的一个例子,6GB 的通话录音正在生成 10GB 的存档。

脚本中似乎没有错误,并且输出的 .gz 文件是可读的,除了巨大的大小之外看起来还不错。

我的脚本摘录如下:

0 投票
0 回答
93 浏览

python - python: 解压然后 tar

当我运行以下命令时,我希望 infile 和 outfile 相同,但它们不在我测试过的文件中。大小略有不同,tar tvf 显示我在 dirs 上获得了尾随 /

我在 Windows 和 python 2.7.9 上运行

我究竟做错了什么?

编辑:部分示例:原始

改变:

我一直在测试 android 备份文件,这些文件太大而无法发布。

0 投票
2 回答
8234 浏览

python - 使用 Python tarfile 模块解压缩 tar.bz2 文件

我有很多扩展名为“tar.bz2”的文件,我想解压缩它们。所以我使用这里解释的“tarfile”模块:https ://docs.python.org/3/library/tarfile.html 。

我尝试以下代码:

但没有任何反应:tar.bz2 文件尚未解压缩到文件夹“path_to/test/”中。

你有什么想法吗?
谢谢 !

0 投票
0 回答
93 浏览

python - TarFile.extract() 不处理哪些“提取问题”?

文档上有以下注释TarFile.extract()

注意:extract()方法不处理几个提取问题。在大多数情况下,您应该考虑使用该extractall()方法。

它指的是什么“提取问题”?为什么我要使用该extractall()方法而不是extract()当我只想从 tar 文件中获取一个文件时?

0 投票
1 回答
2251 浏览

python - Tarfile 创建 xz 文件

我注意到 tarfile 没有 aw:xz 选项或类似的东西,有没有办法创建 xz 文件?我在 python 中有这个代码

0 投票
1 回答
1699 浏览

python - Python Tar 文件无法成功打开

/文件处的ReadError无法成功打开

"ReadError('不是 bzip2 文件',)"

这个错误,“文件无法成功打开”是非常奇怪的,因为不是一两天前这只是今天才有效,我不知道为什么。

0 投票
2 回答
1268 浏览

python - python: tarfile 提取错误 IOError: [Errno 22] 无效模式 ('wb') 或文件名

我正在使用 tarfile 提取文件。不幸的是,这个压缩文件来自 linux 服务器,并且包含几个文件,其中包含文件的非法 Windows 操作系统字符 (':')。

我正在使用以下内容:

我收到以下错误:IOError: [Errno 22] invalid mode ('wb') or filename: ... "file::ext"

所以我尝试通过以下方式传递错误:

这确实有效,但提取不会继续。它只是随着这次失败而停止。

当我使用 WinRAR 解压档案时,该文件会自动重命名为“file__ext”。

python 是否有 WinRAR 扩展?或者也许是一种跳过错误并继续提取的方法?或者像 WinRAR 那样自动重命名文件。我不介意文件是否会被跳过。

我看到了几个有这个错误的帖子,但是它们都是用于压缩,而不是提取。

0 投票
1 回答
283 浏览

python - 在 Python 中使用 tarfile.open() 时打开文件的顺序

我有一个简单的问题,但我没有设法找到很多关于它的信息或很好地理解它。

当我使用该方法在python中打开一个tarfile时,tarfile中tarfile.open()的文件究竟是如何读取的?我有一个包含人员数据的 tar 文件,每个人都有自己的文件夹,在该文件夹中,他的数据在不同的文件夹之间划分。

是否会根据内部结构访问文件,或者是否有另一种方法来确定我使用时接下来要访问哪个文件tarfile.extractfile()

先感谢您

0 投票
2 回答
1942 浏览

python - Python:如何使用 tarfile 模块中不可用的不同压缩方法创建 tar 文件并使用外部模块即时压缩它?

我正在尝试设置一个代码来将几个大文件(从数十到数百 GB)打包到一个存档中。tarfile 模块支持的压缩方式对于这么大的数据量有点慢,所以我想使用一些外部压缩模块,如 lz4 来获得更好的压缩速度。不幸的是,我找不到如何创建 tar 文件并使用 lz4 即时压缩它以避免创建临时 tar 文件的方法。tarfile 模块的文档说,有一种方法可以打开未压缩的流以使用 'w|' ​​进行写入 模式。是将tar文件直接流式传输到lz4模块的方式吗?如果是这样,使用它的正确方法是什么?非常感谢。