首页 > 解决方案 > 使用 Python 无法仅解压缩 .mdf 文件

问题描述

使用 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()

标签: pythonzipzipfile

解决方案


您正在检查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

推荐阅读