在 python 中将一个 tar 中的文件添加到另一个 tar 中

2023-12-29

我想制作一份 tar 的副本,删除一些文件(基于它们的名称以及可能的其他属性,如符号链接等)。因为我已经在 python 中打开了 tar 文件,所以我想在 python 中执行此操作。我知道 TarFile.getmembers() 返回 TarInfo 对象的列表,而 TarFile.addfile(tarinfo) 接受 TarInfo 对象。但是,当我将一个输入另一个时,会创建一个损坏的焦油(没有错误)。

import tarfile

oldtar=tarfile.open('/tmp/old.tar',"r")
newtar=tarfile.open('/tmp/new.tar',"w")
for member in oldtar.getmembers():
    if not member.name == 'dev/removeme.txt':
        newtar.addfile(member)
    else:
        print "Skipped", member.name
newtar.close()
oldtar.close()

你必须通过fileobj- 论证addfile() http://docs.python.org/2/library/tarfile.html#tarfile.TarFile.addfile:

newtar.addfile(member, oldtar.extractfile(member.name))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 python 中将一个 tar 中的文件添加到另一个 tar 中 的相关文章

随机推荐

  • 连接一元参数的模板参数包

    虽然说 std add pointer是一元的 以下代码被 GCC 7 0 0 20160608 和 Clang 3 9 0 接受 template
  • 在 Clojure 中测试对象是否为 Java 原始数组

    Clojure 中检测对象是否为 Java 原始数组的最佳方法是什么 我需要这个的原因是对原始数组进行一些特殊处理 这可能看起来像 if byte array object handle byte array object 它是一段对性能相
  • Python 每个模块和包一个类

    我正在尝试用 Python 构建我的应用程序 从 C Java 背景回来后 我喜欢每个文件一个类的方法 我希望我的项目树看起来像这样 Service Database DbClass1 py DbClass2 py Model DbMode
  • 用于保持您的网站被 Google Bing 等索引的 PHP 库

    我需要一些能够对我的网址进行索引和描述的库 所以我想对它说类似的话 用一些关键词索引这个新网址 www bla bla com new url 或类似的东西 我想确定的是 如果我告诉我的库我的新 URL Google 和其他人将 100 尽
  • 获取页面上所有 javascript 错误/javascript 错误处理

    我希望能够向自己发送页面上的所有 javascript 错误 我是一名扩展开发人员 因此以下内容重点强调在调用 dom 之前确保 dom 已准备好 我研究了添加一些功能throw还可以发送或邮寄例外情况 但我发现这是不可能的 1 主要解决这
  • 删除/避免向 URL 添加目标链接

    对于这里的 jQuery JavaScript 专家来说 这可能很简单 但我在网络上找不到解决方案 Case 我在页面底部有一个链接 上面写着Back to Top 该链接只是一个目标链接 如下所示 a href top class sta
  • 从 char 中减去字符“0”如何将其更改为 int?

    此方法适用于 C C 和 Java 我想知道其背后的科学原理 的值char可以是 0 255 其中不同的字符映射到这些值之一 数字也是按顺序存储的 0 通过 9 但它们通常也不存储为前十个char价值观 也就是说 角色 0 没有 ASCII
  • 绘图画布编辑器[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我面临着使用canvas标签和使用JavaScript绘制复杂图像的问题 我需要一个工具 或者我们可以
  • 如何检查时间戳(纪元时间)是今天还是昨天的[android]

    我想将时间戳 纪元时间 转换为人类可读的字符串 为此我正在使用calendar setTimeInMillis timeSinceEpoch 函数创建日历对象并以人类可读的格式获取日期时间字符串 我很困惑 如何找出时间戳 纪元时间 是今天或
  • 代码库中的浏览器功能检测 - 我正在使用...? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 http caniuse com http caniuse com 是一个非常有用的工具 可以确定哪些
  • 处理用Python解析的csv文件中的额外换行符(回车符)?

    我有一个 CSV 文件 其中包含包含换行符的字段 例如 A B C D E F 123 456 tree very bla indigo 在本例中 第二行中的第三个字段是 tree n 我尝试了以下方法 import csv catalog
  • 在加载控制器之前验证路线先决条件

    我正在用 Angular 编写一个单页应用程序 特别是角 dart https github com angular angular dart 但我假设这个问题仍然适用于 AngularJS 以以下路线为例 login 期望没有人登录 如果
  • automake环境变量条件

    我有一个文件 Makefile am 我用来生成 Makefile 在生成的 Makefile 中我想要类似的内容 ifndef SOURCECODEPATH SOURCECODEPATH home root source code pat
  • 如何允许 NSMutableDictionary 接受“nil”值?

    我有这样的声明 custData setObject rs stringForColumnIndex 2 forKey email where rs stringForColumnIndex 2 从 SQLite3 d b 获得的值为nil
  • jQuery UI 自动完成的 JSON 格式

    的文档jQuery UI 自动完成 http docs jquery com UI Autocomplete指出source属性可以设置为以 JSON 格式返回建议项目的 URL 但是 它没有进一步详细说明此 JSON 结果的结构应该是什么
  • 绘制平均值和标准差

    我在不同的 x 点有多个函数值 我想在 python 中绘制平均值和标准差 就像答案一样这个问题 https stackoverflow com questions 19797846 plot mean standard deviation
  • 尝试读取不存在的文件夹`/private/tmp/CocoaPods/Lint/Pods/

    AM 在验证 pod 规格时得到此信息 Attempt to read non existent folder private tmp CocoaPods Lint Pods Test 请帮忙 你需要跑git tag x x x and g
  • C# YamlDotNet 库是否支持合并键?

    我对 C YamlDotNet 库有疑问http www aaubry net page YamlDotNet http www aaubry net page YamlDotNet 您知道该库是否支持 合并键 吗 http yaml or
  • asp.net core RC2图像不显示

    我想做的是显示网络根文件夹中的图像 这就是我尝试执行此操作的方式 下面的课程只是实验性的 只是我尝试的例子 目前正在读取的文件夹中只有一张图像 rootPath 也取自 hostingEnvironment WebRootPath publ
  • 在 python 中将一个 tar 中的文件添加到另一个 tar 中

    我想制作一份 tar 的副本 删除一些文件 基于它们的名称以及可能的其他属性 如符号链接等 因为我已经在 python 中打开了 tar 文件 所以我想在 python 中执行此操作 我知道 TarFile getmembers 返回 Ta