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

2024-06-12

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

我尝试以下代码:

import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")  
for i in tar:
  tar.extractall(i)
tar.close()

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

你有什么想法吗?
谢谢 !


您使用 tar.extractall 的参数错误。我想,你需要这样的东西

import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")  
tar.extractall()
tar.close()

or

import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")  
for i in tar:
  tar.extractfile(i)
tar.close()

如果您需要将文件解压到某个特定文件夹

import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")  
tar.extractall(some_path)
tar.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python tarfile 模块解压缩 tar.bz2 文件 的相关文章

随机推荐

  • 需要一些关于调度队列、线程和 NSRunLoop 的澄清

    以下是我所知道和理解的事情 全局队列是一个同时队列 可以将任务分派给多个线程 不保证执行任务的顺序 例如 dispatch async dispatch get global queue DISPATCH QUEUE PRIORITY DE
  • 如何声明一个带有成员函数指针的函数

    我有一个类 其中的成员变量指向库对象 class myClassA private libraryClass libraryObject 该库类发出事件 以字符串为特征 并提供一种机制 允许客户端类指定在发出事件时应调用的成员函数 因此在m
  • Hive 聚集在多个列上

    据我所知 当配置单元表聚集在一列上时 它会执行该分桶列的哈希函数 然后将该行数据放入其中一个桶中 每个桶都有一个文件 即如果有 32 个桶 那么 hdfs 中就有 32 个文件 将 clustered by 放在多个列上意味着什么 例如 假
  • Symfony Doctrine 数据类型仅适用于 findBy 不适用于 querybuilder

    我有自定义数据类型 它在使用 FindBy 时按预期工作 但在使用查询生成器时却不然 很抱歉这篇文章很长 但我认为更多信息应该有所帮助 这与这个未回答的问题相同 学说 2 自定义类型 https stackoverflow com ques
  • 分发证书错误:“此证书尚未有效。” [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已从 itunesconnect 网站下载了分发证书 通过双击 我将其添加到钥匙串访问中 但在钥匙串访问中 它显示 此证书尚未有效 那么问题出在哪里
  • cassandra-1.1.2 的推荐 cassandra gui 客户端是什么 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一些 cassandra 的 gui 客户端 如 sqlDeveloper 来调用一些基本方法 并运行 cql 查询 Dbeav
  • 如何在javascript中加密或解密字符串

    我想使用以下代码加密和解密 javascript 中的字符串 但是我发现 crypto js 未定义 var encrypted CryptoJS AES encrypt Message Secret Passphrase var decr
  • 简单委托(delegate)与多播委托

    我已经阅读了很多文章 但我仍然不清楚我们通常创建的普通委托和多播委托之间的区别 public delegate void MyMethodHandler object sender MyMethodHandler handler new M
  • Laravel 4,如何在 Route::controller() 上应用过滤器

    我知道我能做到 Route get foo bar array before gt filter uses gt Controller bar 应用路由一些过滤器 我也知道 Route group 方法 无论如何 如果我想以这种方式定义一个
  • 用布尔数组屏蔽一系列

    这给我带来了很多麻烦 我对 numpy 数组与 pandas 系列的不兼容感到困惑 例如 当我使用系列创建布尔数组时 x np array 1 2 3 4 5 6 7 y pd Series 1 2 3 4 5 6 7 delta np p
  • “无法连接到远程服务器”

    我可以从 Windows 窗体程序调用第三方供应商的 Web 服务 当我尝试从 WCF Web 服务调用相同的 Web 服务和 Web 方法以及相同的 URL 时 出现以下错误 ExportValuationPolicyNumber Exc
  • Grails 测试中的模拟配置

    在 Grails 2 0 X 之前 可以使用mockConfig测试扩展的基类提供的方法 然而 在 Grails 2 0 X 中 建议测试类使用 TestFormixin 而不是扩展基类 这个 mixin 似乎没有提供任何与mockConf
  • JVM 最大堆大小可以是动态的吗?

    JVM Xmx 参数允许将 JVM 的最大堆大小设置为某个值 但是 有没有办法让这个价值动态化呢 换句话说 我想告诉 JVM 看 如果你需要它 就继续从系统中获取 RAM 直到系统退出 提问原因分为两部分 首先 所讨论的应用程序可以根据用户
  • IOS Web 应用程序视频缓存播放问题 (mp4)

    您好 我在 iPad 2 上运行最新版本的 iOS 5 0 1 但无法使 mp4 视频缓存正常工作 我添加了必要的侦听器来侦听 applicationCache 事件 然后在这些事件发生时写入控制台 最值得注意的是 当我的应用程序被缓存时
  • 如何防止单选按钮自动选择

    添加 Gtk 实例时 RadioButton class http docs go mono com index aspx link T 3aGtk RadioButton对于 GUI 它会自动检查 激活 为其单选按钮组的第一个成员 For
  • 固定大小跨度的结构化绑定

    了解后你可以符合人体工程学的转换 https stackoverflow com a 63053361 std vectors 成固定大小std spans 我想我应该尝试结构化绑定std vector auto std vector 1
  • C# 压力测试 - 模拟对给定共享资源的多次访问

    如何在 C 单元测试中模拟 压力测试 100 个用户访问给定的共享资源 例如数据库 假设您正在访问真实的数据库 那么您就处于集成测试的范围内 最简单的方法是从多个线程访问资源 例如 Test public void SimpleStress
  • Typescript 在 VS2012 中无法正确编译

    没有明确的原因 Typescript 突然停止可靠地编译成 JS 代码 使用 VS2012 Typescript for VS 版本 0 8 3 1 和 Web Essentials 版本 2 6 设置为 保存时编译 我可以创建一个新的 T
  • 使用活动存储时堆栈级别太深 has_one_attached :picture

    我正在尝试为 Ruby on Rails API 项目实现 Active Storage 我根据文档放置了 has one attached picture 并成功将图片上传到AWS S3服务上 现在 当我尝试访问志愿者数据时 它说 Act
  • 使用 Python tarfile 模块解压缩 tar.bz2 文件

    我有许多扩展名为 tar bz2 的文件 我想解压缩它们 所以我使用 tarfile 模块 如下所述 https docs python org 3 library tarfile html https docs python org 3