使用 Python 无法仅解压缩 .mdf 文件

Using Python unable to unzip .mdf files only

使用 Python 尝试从同一目录中的多个 zip 文件中解压 .mdf 文件。由于我的编写方式,下面的代码在 .zip 文件中找不到任何 .mdf 文件。它正在查看 .zip 文件而不是其中的内容(我认为)。但我不确定如何修改它以获得我需要的东西。 Python 显然是新手。

import zipfile
import os

os.chdir(working_directory)

for file in os.listdir(working_directory):
    if zipfile.is_zipfile(file):
        with zipfile.ZipFile(file) as item:
            if file.endswith('.mdf'):
                item.extractall()

您正在检查 file(即 zip 文件)是否以 .mdf 结尾。这显然行不通。

您需要查看 zip 文件。打开 zip 文件后,您可以调用 namelist() 方法来获取 zip 文件成员的姓名列表。

import zipfile
import os

os.chdir(working_directory)

for file in os.listdir(working_directory):
    if zipfile.is_zipfile(file):
        with zipfile.ZipFile(file) as item:
            for member in item.namelist():  # go through members of the zip file
                if member.endswith('.mdf'):
                    item.extract(member)    # extract only the mdf file