如何使用 Python 提取多个 7z 文件?

How to extract multiple 7z file using Python?

我想使用 Python 提取多个 .7z 文件。 我已经试过了,但它只提取了一个文件。我已经循环了。

下面是我试过的。

import os.path
import glob
from pyunpack import Archive

os.chdir("E:/DATA/raw")
for file in glob.glob("*myfile.7z"):
    print(file)
    Archive(file).extractall("E:/DATA/output")

7z 文件的名称是:

AHFWHSH_1438923_myfile.7z
KFWFAUF_3257485_myfile.7z
GDSHUHG_8975498_myfile.7z

我预期的输出文件夹是:

output1
output2
output3

如果您的预期输出是 output1、output2、output3,那么您应该将索引添加到输出路径。您还应该在提取文件之前创建目录,方法是使用 os.mkdir():

import os
import glob
from pyunpack import Archive

for i, f in enumerate(glob.glob(os.path.join("E:/DATA/raw", "*myfile.7z"))):
    dir_path = "E:/DATA/output" + str(i+1)
    os.mkdir(dir_path)
    Archive(f).extractall(dir_path)