2017-07-20 2 views
0

Bitte überprüfen Sie den Code für die Suche nach Listenelementen in der Datei.So suchen Sie Elemente einer Liste in einer Datei

f=open("a.txt","r") 
p=open("b.txt","r") 
disk=[] 
for line in p: 
    line = line.strip() 
    disk.append(line) 


for line in f.readlines(): 
    for word in disk[0]: 
     if word in line: 
      print line 

Die Liste ist unter:

>>> disk 
['5000cca025884d5', '5000cca025a1ee6'] 

ich diese Liste Elemente in der Datei unten gesucht werden soll, aber ich bin nicht der Ausgang für den Index 0 bekommen.

c0t5000CCA025A1EE6Cd0 <preSUN30G-A2B0-279.40GB> /scsi_vhci/[email protected] 


1. c0t5000CCA025A28FECd0 <preSUN30G-A2B0-279.40GB> i/[email protected] 
2. c0t5000CCA0258BA1DCd0 <HsdfdsSUN30G-A2B0 cyl 46873 alt 2 hd 20 sec 625> i/[email protected] 
3. c0t5000CCA025884D5Cd0 <UN300G cyl 46873 alt 2 hd 20 sec 625> solaris i/[email protected] 
4. c0t5000CCA02592705Cd0 <UN300G cyl 46873 alt 2 hd 20 sec 625> solaris i/[email protected] 
+1

Was ist Ihre Frage? Erhalten Sie einen Fehler? Allgemeine Codeüberprüfungen gehören nicht zum Thema für Stack Overflow. Siehe [Hilfe/Nicht-Fragen]. –

+0

Vielen Dank, dass der obige Code nicht die Listenelemente in der Datei durchsucht, sondern die vollständige Datei anzeigt. – shunk

+0

Könnten Sie Ihre Frage bearbeiten, um eine Erklärung dazu zu erhalten, was Sie zu tun versuchen und was das Problem ist? Die Bearbeitungsschaltfläche befindet sich direkt unter den Tags. –

Antwort

0

Der einzige Fehler, der sich in Ihrem Code präsentiert, ist dies:

for word in disk[0]: 

Wie ich in den Kommentaren erwähnt, was dies tut, ist die erste Zeichenfolge in der disk Liste packen und von vorn beginnen die Iterieren einzelne Zeichen. Dies führt dazu, dass die meisten Zeilen in a.txt mehrmals gedruckt werden.

Ein anderes mögliches Problem würde sein, die zwei Akten rückwärts zu erhalten. Ich habe das versehentlich gemacht, als ich versuchte, Ihr Problem zu kopieren. Wenn die Dateien rückwärts sind, wird nichts gedruckt, da keine der Zeilen in a.txt in b.txt sind (tatsächlich sind die meisten von ihnen viel länger).

Hier ist eine project on repl.it, die das Programm funktioniert zeigt.

Verwandte Themen