Ich habe viele Zip-Dateien in einem Ordner, sagen, der Ordner enthält 1.zip, 2.zip, 3.zip usw. Jeder dieser Zip-Ordner enthält viele Dateien. Aber jeder von ihnen enthält eine Datei namens ans.txt.
Nun ist die ans.txt haben Format wie:
Name = Devesh
Marks = 20
Alter = 23
RollNo = 34343
..
.
.
Ich möchte den Namen der Zip-Datei wissen, die Marken oder Alter oder ein vom Benutzer eingegebenes Attribut enthält.
Ich habe den folgenden Code geschrieben:So lesen Sie Dateien aus jedem ZIP-Ordner in einem Verzeichnis
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
Jetzt wird das Programm nur in der Lage ist, für nur eine zip-Datei auszuführen sagen 1.zip, es 2.zip oder 3.zip wird nicht.
Bitte helfen.
Es ist wegen Ihrer Einrückung. Ihre 'for' -Schleife ist auf der gleichen Ebene wie Ihre' z = zipfile .... 'und' mit open() ... ' – Will
@Will würde ich sagen, das liegt an der Art und Weise, wie uns die Website formatiert der Code. Wenn der Code genau so wäre, dann würde es wahrscheinlich nicht einmal laufen (es würde einen "Erwarteten Indent" -Fehler auslösen). – user1790813
Der veröffentlichte Code würde derzeit einen Syntaxfehler aufgrund der falschen Einrückung verursachen, die unmittelbar auf die for-Anweisung folgt. Bitte posten Sie den eigentlichen Code, den Sie ausführen möchten. – holdenweb