Python ZipFile,通配符

2024-06-08 15:10:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何让Python使用通配符从zip文件夹中只提取“.txt”文件。这个代码对我来说很好:

extractor.extract("\websitefiles\test.hmtl")"

如何使用相同的代码来提取当前目录中的所有.txt文件?我在想这样的事情:

^{pr2}$

但没用。。有什么想法吗???在


Tags: 文件代码testtxt文件夹extractzip事情
3条回答

I just need python to extract .txt files in the current directory, that are no larger than 3 megabytes.

#!/usr/bin/env python
import zipfile
from contextlib import closing

MiB = 2**20 # mebibyte

with closing(zipfile.ZipFile("example.zip")) as zfile:
    for info in zfile.infolist():
        if info.filename.endswith('.txt') and 0 < info.file_size <= 3*MiB:
            zfile.extract(info)

首先,需要文件名列表,使用namelist()。 然后,可以使用txtfiles = fnmatch.filter(fn_list,"*.txt")过滤“*.txt”文件 现在可以逐个提取文件:

extracts = [ extractor.extract(txt) for txt in txtfiles ]

您需要获得ZIP中所有文件的列表,然后逐个请求每个文件。Zipfile有一个namelist()方法来提供该列表。在

相关问题 更多 >