Python的压缩Zipfile与解压缩Tarfile模块

发表于:2023-12-22 09:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:涛哥聊Python    来源:今日头条

  Python 提供了两个标准库模块来处理文件的压缩和解压缩操作:zipfile 用于处理 ZIP 格式的文件压缩,tarfile 用于处理 Tar 格式的文件压缩。
  本文将分享 这两个模块的使用方法,包括安装、压缩文件的创建、压缩文件的读取、解压缩和示例代码。
  安装
  Python 的 zipfile 和 tarfile 模块是标准库的一部分,因此不需要额外安装。可以直接在 Python 程序中导入它们。
  import zipfile
  import tarfile
  使用 zipfile 模块压缩文件
  创建压缩文件
  使用 zipfile 模块可以轻松地创建 ZIP 压缩文件。
  以下是一个示例,演示如何创建一个 ZIP 压缩文件并将文件添加到其中:
  import zipfile
  # 创建一个 ZIP 压缩文件
  with zipfile.ZipFile('example.zip', 'w') as zipf:
      # 添加文件到压缩文件
      zipf.write('file.txt', 'file.txt')
  读取压缩文件
  要读取 ZIP 压缩文件并获取其中的文件列表,可以使用 zipfile.ZipFile 的 namelist() 方法:
  import zipfile
  with zipfile.ZipFile('example.zip', 'r') as zipf:
      file_list = zipf.namelist()
      print("ZIP 压缩文件中的文件列表:", file_list)
  使用 tarfile 模块压缩文件
  创建压缩文件
  使用 tarfile 模块可以创建 Tar 压缩文件。
  以下是一个示例,演示如何创建一个 Tar 压缩文件并将文件添加到其中:
  import tarfile
  # 创建一个 Tar 压缩文件
  with tarfile.open('example.tar.gz', 'w:gz') as tarf:
      # 添加文件到压缩文件
      tarf.add('file.txt', arcname='file.txt')
  读取压缩文件
  要读取 Tar 压缩文件并获取其中的文件列表,可以使用 tarfile.TarFile 的 getnames() 方法:
  import tarfile
  with tarfile.open('example.tar.gz', 'r:gz') as tarf:
      file_list = tarf.getnames()
      print("Tar 压缩文件中的文件列表:", file_list)
  解压缩文件
  要解压缩 ZIP 或 Tar 压缩文件中的文件,可以使用相应的模块提供的解压缩方法。
  以下是一个示例,演示如何解压缩文件:
  解压缩 ZIP 文件
  import zipfile
  with zipfile.ZipFile('example.zip', 'r') as zipf:
      zipf.extractall('extracted_files')  # 将文件解压缩到指定目录
  解压缩 Tar 文件
  import tarfile
  with tarfile.open('example.tar.gz', 'r:gz') as tarf:
      tarf.extractall('extracted_files')  # 将文件解压缩到指定目录
  示例代码
  以下是一些示例代码,演示了如何使用 zipfile 和 tarfile 模块执行常见任务:
  import zipfile
  import tarfile
  # 使用 zipfile 模块创建 ZIP 压缩文件
  with zipfile.ZipFile('example.zip', 'w') as zipf:
      zipf.write('file.txt', 'file.txt')
  # 使用 zipfile 模块读取 ZIP 压缩文件
  with zipfile.ZipFile('example.zip', 'r') as zipf:
      file_list = zipf.namelist()
      print("ZIP 压缩文件中的文件列表:", file_list)
  # 使用 tarfile 模块创建 Tar 压缩文件
  with tarfile.open('example.tar.gz', 'w:gz') as tarf:
      tarf.add('file.txt', arcname='file.txt')
  # 使用 tarfile 模块读取 Tar 压缩文件
  with tarfile.open('example.tar.gz', 'r:gz') as tarf:
      file_list = tarf.getnames()
      print("Tar 压缩文件中的文件列表:", file_list)
  # 解压 ZIP 文件
  with zipfile.ZipFile('example.zip', 'r') as zipf:
      zipf.extractall('extracted_files')
  # 解压 Tar 文件
  with tarfile.open('example.tar.gz', 'r:gz') as tarf:
      tarf.extractall('extracted_files')
  总结
  Python 的 zipfile 和 tarfile 模块是处理文件的压缩和解压缩操作的重要工具。分别用于 ZIP 和 Tar 格式的文件,提供了简单而有效的方法来创建、读取和解压缩文件。在本文中,分享了如何创建压缩文件并添加文件到中,以及如何读取压缩文件中的文件列表。同时,还演示了如何解压缩 ZIP 和 Tar 压缩文件中的文件到指定目录。
  这两个模块对于处理文件操作非常有用,可以在许多场景中帮助您有效地管理文件和数据。无论是备份文件、打包文件,还是解压缩已压缩的数据,zipfile 和 tarfile 模块都提供了简单而灵活的解决方案。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号