如何从目录中存在的每个 zip 文件夹中读取文件
How to read files from every zip folder present in a directory
我的一个文件夹里有很多zip文件,假设文件夹包含1.zip、2.zip、3.zip等
这些 zip 文件夹中的每一个都包含许多文件。但是它们每个都包含一个名为 ans.txt.
的文件
现在 ans.txt 的格式如下:
姓名= 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。
请帮忙。
这是您要实现的目标吗?
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)
我的一个文件夹里有很多zip文件,假设文件夹包含1.zip、2.zip、3.zip等
这些 zip 文件夹中的每一个都包含许多文件。但是它们每个都包含一个名为 ans.txt.
的文件
现在 ans.txt 的格式如下:
姓名= 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。
请帮忙。
这是您要实现的目标吗?
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)