我在文件夹中有很多zip文件,比如文件夹包含1.zip,2.zip,3.zip等。
每个zip文件夹都包含许多文件。但是它们每个都包含一个名为ans.txt的文件
现在ans.txt的格式如下:
姓名= Devesh
标记= 20
年龄= 23岁
RollNo。= 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。
请帮忙。
答案 0 :(得分:1)
这是你想要实现的目标吗?
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)