📜  python 7zip 提取 - Python (1)

📅  最后修改于: 2023-12-03 15:33:58.009000             🧑  作者: Mango

Python 7zip 提取

在Python中使用7zip工具来解压缩文件有两种方式:

  1. 调用7zip的命令行工具;
  2. 使用第三方库py7zr。
1. 使用7zip的命令行工具

使用subprocess模块调用7zip的命令行工具来进行解压缩操作。

示例代码:

import subprocess

subprocess.call(['7z', 'e', 'archive.7z'])

上述代码中,subprocess.call方法第一个参数传入需要执行的命令,命令需要以列表形式传入。使用'7z'调用7zip的命令行工具,'e'表示解压缩操作,'archive.7z'表示需要解压缩的压缩文件。

如果需要指定解压缩的输出目录,可以将输出目录加入命令行参数中:

subprocess.call(['7z', 'e', 'archive.7z', '-ooutput_dir'])
2. 使用py7zr库

py7zr是一个Python的第三方库,它提供了解压缩7zip文件的API。

示例代码:

import py7zr

with py7zr.SevenZipFile('archive.7z', mode='r') as z:
    z.extractall()

上述代码中,使用py7zr.SevenZipFile打开需要解压缩的7zip文件,mode='r'表示只读模式。然后使用z.extractall()方法将所有文件解压缩到当前目录下。

如果需要指定解压缩的输出目录,可以在z.extractall()方法中传入path参数:

z.extractall(path='output_dir')
总结

以上就是Python中使用7zip工具进行解压缩操作的两种方式。使用命令行工具调用7zip的优点是不需要安装任何第三方库,但是需要操作比较繁琐,需要手动处理命令行参数。而使用py7zr库则更加Pythonic,代码也更加简洁易懂,但需要额外安装第三方库。