问题标签 [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 投票
1 回答
1683 浏览

python-2.7 - 从 .tar 文件中获取 md5

我已经看到了这个问题的答案,但没有找到正确的方法。我们的包是由其他团队以 .tar 格式创建的。如何使用 Python 获取 tar 球中文件内容的校验和?人们建议在归档时创建 md5 文件,但这不是我们的做法。有人可以对此提出建议吗?提前致谢。

0 投票
1 回答
119 浏览

python - 使用带有特殊字符的 tarfile 库

我想创建带有土耳其字符(如“ö”)的 tarfile,但出现错误。我在 Windows 8.1 上使用 python 2.7。

这是我的代码:

0 投票
1 回答
735 浏览

python - tarfile.extractall() (Python 2.7) 的 Unicode 问题

我在 Windows 上使用 python 2.7.6,并且使用 tarfile 模块将文件提取为 gzip 文件。的mode选项tarfile.open()设置为"r:gz"。在 open 调用之后,如果我要通过 打印存档的内容tarfile.list(),我会在列表中看到以下目录:

./静态分析 Part 1.v1/

但是,在我调用 tarfile.extractall() 之后,我在提取的文件列表中看不到上述目录,而是看到以下内容:

é™æ€åˆ†æž Part 1.v1/

如果我要通过 7zip 解压缩存档,我会看到一个与上面第一项同名的目录。所以,很明显, extractall() 方法搞砸了,但我不知道如何解决这个问题。

0 投票
0 回答
492 浏览

python - Tarfile 提取路径不能包含特殊字符

我想将 tarfile 提取到它自己的路径,但如果文件的路径包含任何特殊字符(如 ö)。

如果我没有给出解压路径,它会将 tarfile 解压到我的项目目录中。

这是我的代码:

我在tar.extractall(path=dirname)行上收到此错误:

我试图像这样编码路径变量:

编码后,代码可以正常工作。但是,tarfile 将被提取到somefolderö文件夹。我想将它提取到somefolderö

长话短说,ö变成ö

我在 Windows 8.1 上使用 python 2.7。

0 投票
1 回答
1002 浏览

python - 为什么使用 tarfile.extract() 会导致错误:没有属性“提取”?

我正在使用 Python 3.4。写作

工作正常,但这

引起反应

似乎在库中找不到 extract 和 extractall 函数。怎么可能?

0 投票
0 回答
83 浏览

python - 从 tar 中提取某些文件并将它们放入另一个文件中

我有一个 tar 文件,tar1.tar,我想查看其中的文件并将所有传递my_test到另一个 tar 的文件,output.tar.

我一直在这样做,但我无法在我的新 tar 中打开文件:

我真的不明白成员是什么,我想我需要添加类似 member.extractfile() 而不是 member 但我无法让它工作。

通过提取所有内容,我设法让它在测试文件上工作,但正确的文件需要很长时间。

事实上,我有很多 tar 文件,我想从中提取所有通过测试的文件,但如果我能做到这一点,我可以循环。

我正在使用 python 2.7

0 投票
1 回答
76 浏览

python - 如何检查是否可以使用 tarfile 模块写入 tar 文件?

我希望使用附加到 .tar 文件,tarfile但我不知道该文件是否正在使用中。如何检查文件是否可以附加到?

我试过了:

这有时会出现错误,但有时不会,并且最后的 tar 文件没有我期望的所有文件。

我的计划是循环使用它并继续尝试直到它起作用。

我还有其他选择,其中大部分涉及将去皮留给另一个过程,但我觉得tarfile应该对这类事情负责。我可以编写一个包装器来tarfile检查新文件是否出现在tar.getmembers()列表中。

0 投票
0 回答
235 浏览

python - 在 Python 中获取 tarfile 的字节数

如何tarfile在 Python 中获取对象的二进制表示?现在我正在做以下事情,但这涉及“复制”:

0 投票
0 回答
184 浏览

python-3.x - 操作系统错误:解压缩 tar 文件时出现 [WinError 123](在 linux 中创建)

我有一个tarfile其中一个文件夹有 name #997_Mon_Oct_14_17:12:29_CST_2013.tar

该文件是在 linux 环境中创建的。我想在 windows env 中解压这个文件。

使用tarfile,如果我提取我得到以下错误。由于 Windows 不接受带有“:”的文件夹名称。

操作系统错误:[WinError 123] 文件名、目录名或卷标语法不正确:'C:\Users\310190224\Desktop\test\.\lib\modules\#997_Mon_Oct_14_17:12:29_CST_2013'

代码片段:

任何人都可以帮助解决这个问题。

0 投票
1 回答
2021 浏览

python - 将 JSON 直接转储到 tar 文件中

我有大量的 dict 对象。我想将此列表存储在 tar 文件中以进行远程交换。我通过将 json.dumps() 字符串写入以“w:gz”模式打开的 tarfile 对象成功地做到了这一点。

我正在尝试管道实现,以“w|gz”模式打开 tarfile 对象。到目前为止,这是我的代码:

此代码位于函数“write_data”中。'json_io_format' 是一个生成器,它一次从数据集中返回一个 dict 对象(因此数据包是一个 dict)。

这是我的错误:

在评论的帮助下进行了一些故障排除后,当“with”语句退出并尝试调用上下文管理器 __exit__ 时会导致错误。我相信这反过来会调用 TarFile.close()。如果我从“with”语句中删除 tarfile.open() 调用,并故意省略 TarFile.close(),我会得到以下代码:

此版本的程序完成,但不生成输出文件 'filname' 并产生以下错误:

我相信这是由垃圾收集器引起的。有些东西阻止 TarFile 对象关闭。

谁能帮我弄清楚这里发生了什么?