如何从目录中的每个zip文件夹中读取文件

2024-04-19 18:08:55 发布

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

我在一个文件夹中有很多zip文件,比如文件夹包含1.zip、2.zip、3.zip等。
每个zip文件夹都包含许多文件。但每个文件都包含一个名为ans.txt文件.
现在ans.txt文件格式如下:
Name=Devesh
分数=20
年龄=23
辊号=34343
.
.
.
我想知道包含标记、年龄或用户输入的任何属性的zip文件的名称。
我编写了以下代码:

    import os
    import glob
    import zipfile
    flag=0
    for zip_name in glob.glob('[0-9].zip'):
        z=zipfile.ZipFile(zip_name,"r")
        with z.open('BAND_META.txt') as f:
            for line in f:
                for word in line.split('='):
                    word=word.strip()
                    if flag==0
                        if word=="Marks"
                            flag=1# flag is intialised as 0
                    elif flag==1
                        if word==marks:#marks is entered by user.
                            print zipfile_name
                            flag=0


现在这个程序只能运行一个zip文件,比如1.zip,而不是2.zip或3.zip。
请帮忙。你知道吗


Tags: 文件nameinimporttxt文件夹forif
1条回答
网友
1楼 · 发布于 2024-04-19 18:08:55

这就是你想要达到的目标吗?你知道吗

import os
import zipfile

zipfiles = [z for z in os.listdir('.') if z.endswith('.zip')]


for zfile in zipfiles:
    with zipfile.ZipFile(zfile) as z:
        with z.open('ans.txt') as f:
            if b'marks=' in f.read().lower():
                print(z.filename)

相关问题 更多 >