python - 使用 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()
解决方案
您正在检查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
推荐阅读
- python - 如何将初始化数组作为 OUT 参数传递给 COM 调用
- c++ - 静态类成员的初始化引发“未命名类型”错误
- node.js - 安装 postgresql 12 时出现运行时错误?
- html - html 按钮在单击时未加载 document.location
- c++ - 为什么将`const`修饰符应用于保存结构值的变量会使结构值不可变?
- angular - 忽略根 RouterModule 中的路径
- amazon-web-services - AWS Step 函数可以异步运行 bash 脚本吗?
- keras - 我如何为 LSTM 创建标签
- java - 当我开始另一个活动而没有完成第一个活动时,活动被破坏
- python - AWS localstack SES 无法连接到端点