问题标签 [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 回答
158 浏览

c++ - 什么是 tar 解析器中的链接指示符(文件类型)

我想知道 tar 文件中存在的 html 文件的文件类型。我已将 tar 文件存储在缓冲区中,并且我知道我可以知道位置缓冲区 [124] 处文件的大小,但我想知道是 - (1.) 我想知道 tar 中的文件是否是HTML 文件 ?? 知道该怎么做吗?我认为我可以知道文件形式的链接指示器(但我不确定)。谁能解释一下如何做到这一点?

(2.) 如果我确定 tar 文件中有 html 文件,那么我想将这些 html 文件的内容保存在 tar 文件中。

tar 文件中还存在许多其他文件(不仅是 html 文件-请注意这一行,所以我不知道 html 文件的位置)

知道如何实现这一目标吗?

0 投票
1 回答
5439 浏览

python - 将 .tar.gz 文件的内容从网站读取到 python 3.x 对象中

我是 python 新手。尝试将 .tar.gz 文件的内容读入 python 时,我无法弄清楚我做错了什么。我想阅读的 tarfile 托管在以下网址:

ftp://ftp.ncbi.nlm.nih.gov/pub/pmc/b0/ac/Breast_Cancer_Res_2001_Nov_9_3(1)_61-65.tar.gz

此站点上的更多信息(只是为了让您可以信任内容) http://www.pubmedcentral.nih.gov/utils/oa/oa.fcgi?id=PMC13901

tar 文件包含期刊文章的 .pdf 和 .nxml 副本。还有几个图像文件。

如果我通过复制和粘贴在浏览器中打开文件。我可以保存到我的 PC 上的某个位置并使用以下命令导入 tar 文件(注意:当我保存到该位置时,winzip 将文件从 .tar.gz 更改为简单的 .tar):

但是,如果我尝试使用类似的命令直接访问该文件:

这会导致以下错误:

尝试直接从网址读取 .tar.gz 文件时,谁能解释我做错了什么?提前致谢。克里斯

0 投票
3 回答
4813 浏览

python - 将 Contents Tarfile 读入 Python - “不允许向后搜索”

我是 python 新手。我无法将 tarfile 的内容读入 python。

数据是期刊文章的内容(托管在 pubmed Central)。请参阅下面的信息。并链接到我想读入 Python 的 tarfile。

http://www.pubmedcentral.nih.gov/utils/oa/oa.fcgi?id=PMC13901 ftp://ftp.ncbi.nlm.nih.gov/pub/pmc/b0/ac/Breast_Cancer_Res_2001_Nov_9_3(1)_61 -65.tar.gz

我有一个类似的 .tar.gz 文件列表,我最终也想读入。我认为(知道)所有的 tarfile 都有一个与之关联的 .nxml 文件。这是我实际上对提取/阅读感兴趣的 .nxml 文件的内容。愿意接受有关最佳方法的任何建议...

如果我将 tar 文件保存到我的 PC,这就是我所拥有的。一切按预期运行。

我今天了解到,为了直接从 pubmed centrals FTP 站点访问 tar 文件,我必须使用urllib. 以下是修改后的代码(以及我收到的 stackoverflow 答案的链接):

将 .tar.gz 文件的内容从网站读取到 python 3.x 对象中

但是,当我运行剩余的代码(如下)时,我收到一条错误消息(“不允许向后搜索”)。怎么来的?

代码在最后一行失败,我尝试读取与我的 tar 文件关联的 .nxml 内容。以下是我收到的实际错误消息。这是什么意思?读取/访问这些都嵌入在 tar 文件中的 .nxml 文件的内容的最佳解决方法是什么?

在此先感谢您的帮助。克里斯

0 投票
1 回答
964 浏览

python - 将 .readinto(b) 方法添加到 tarfile 的 ExFileObject?

所以我试图遍历 tar 中的多个文件,然后将这些数据加载到我定义的一些 ctype 结构中。这对非 tar 文件运行良好,但后来我发现tarfile 的方法返回的ExFileObjectextractfile(member)不支持该.readinto(b)方法。

所以现在这就是我正在做的事情:

得到这个:

有没有办法将此方法添加到 ExFileObject 中?或者,是否有另一种方法可以轻松地将我的数据加载到我定义的 ctypes 结构中?我注意到在tarfile对象中,您可以设置fileobject用于返回的 tarinfo 文件,但只是交换 io.BufferedReader 似乎不起作用。

(我尝试将 ExFileObject 读入 StringIO,但它似乎也没有readinto()正确实现......我想我可以只extractall()到内存中的文件空间并将文件作为标准文件对象重新打开,但我会想避免这种情况,因为我需要额外的配置)

0 投票
1 回答
9413 浏览

python - 在 python 中打开 .tar.gz 档案

,我对这对行有问题,用 Python 编码:

我确定我正在打开一个 .tar.gz 存档。

我真的不知道出了什么问题,我已经在网上冲浪了,这会起作用......但我收到了这个错误:

请帮帮我

0 投票
0 回答
37 浏览

sql - 如何从 sql 中自动压缩文件

我有一个 SQL 表,其中包含每个时期的结果(例如 2013 年 1 月)。这些是我遵循的步骤:

  1. 我想从每个时期中选择记录。
  2. 将结果放入 CSV 文件中。
  3. 然后复制标题并将 CSV 文件保存到具有不同名称的文本文件中。
  4. 然后获取文本文件并 gzip 该文件。
  5. 现在找到文本文件中的记录并创建一个计数文件。(。文本)
  6. 现在获取该 gzip 文件和计数文件并创建一个 .tar 文件。
  7. 再次创建一个指向 .tar 文件的计数文件。

我必须为该表中的所有时间段执行这些步骤。

有没有更简单的方法来做到这一点,比如 Perl/Python 脚本或批处理文件之类的?

0 投票
1 回答
1583 浏览

python - python tarfile 错误:struct.error:解包需要长度为 4 的字符串参数

我有一堆文件,我对其进行以下处理:

对于特定文件,我在tarfile.open调用后立即收到此错误:

回溯(最近一次通话最后):

问题:我怎样才能避免这种情况?

0 投票
1 回答
72 浏览

python - 如何避免 tarfile 以使图像不保留路径

我正在使用 tarfile 模块来压缩图像文件。但是当我压缩图像时,它会保留放置它们的图像的总路径。他们应该是相对的。意味着如果图像被放置在位置 a/b/c/demo_images.png 则在提取 tar.gz 之后它包含的文件夹也在提取的部分中,就像相同的结构 a/b/c/demo_images.png 但我只需要提取后的 demo_images.png。

0 投票
2 回答
1472 浏览

python - Pythons 本机 tarfile 库的高内存使用率

我在内存受限的环境中工作,并使用带有 tarfile 库 ( http://docs.python.org/2/library/tarfile.html ) 的 Python 脚本来持续备份日志文件。

随着日志文件数量的增加(~74 000),我注意到系统在运行时有效地终止了这个备份进程。我注意到它消耗了大量的内存(在被操作系统杀死之前约为 192mb)。

我可以制作日志文件的 gzip tar 存档 ($ tar -czf),而不会出现问题或内存使用量过高。

代码:

目录“asdf”由 74407 个文件名长度为 73 的文件组成。当你有大量文件时,不建议使用 Python 的 tarfile 吗?

我正在运行 Ubuntu 12.04.3 LTS 和 Python 2.7.3(tarfile 版本似乎是“$Revision: 85213 $”)。

0 投票
2 回答
3294 浏览

python - 如何在没有目录的 tar.gz 中压缩 tar 文件?

我正在寻找一种在没有目录的 tar.gz 中压缩 tar 文件的方法。

今天我的代码使用“tarfile”库和 arcname 参数生成了一个没有目录的 TAR 文件,但是当我想在 TAR.GZ 中压缩这个 TAR 文件时,我不明白如何删除目录。

在过去的三天里,我做了很多测试。

我的代码: