使用第三方库zipfile解压zip包不要二级文件夹
时间: 2024-09-12 11:17:47 浏览: 37
当你想使用Python的`zipfile`模块从ZIP文件中提取所有文件,但不希望包含二级(或更多级)目录时,你可以直接指定要提取的文件而不是整个目录结构。以下是如何做到这一点的一个示例:
```python
import zipfile
def extract_zip_to_root(zip_file_path, output_directory):
with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
for member in zip_ref.namelist():
# 只提取顶级文件,跳过目录
if not member.endswith('/'):
extracted_file = zip_ref.extract(member, path=output_directory)
print(f"Extracted file: {extracted_file}")
# 使用这个函数
extract_zip_to_root('path_to_your_zipfile.zip', 'output_directory')
```
在这个例子中,`namelist()` 方法返回列表中的每个成员名称,我们检查每个名称是否以斜杠 `/` 结尾,如果结尾不是斜杠,则表示这是一个文件而非目录。然后我们调用 `extract()` 函数并提供输出目录,只把文件内容提取到那里。
阅读全文