2016-03-25 4 views
0

Ich möchte mit Python zwei Dateien gleichzeitig öffnen, lesen Sie eine Zeile von jedem von ihnen und dann einige Operationen. Dann lese die nächste Zeile von jedem von ihnen und mache eine Operation, dann die nächste nächste Zeile ... Ich möchte wissen, wie ich das machen kann. Es scheint, dass for Schleife diesen Job nicht erledigen kann.wie Python zu verwenden, um mit zwei Dateien zur gleichen Zeit zu behandeln

+2

Woher wissen Sie, dass eine for-Schleife nicht funktioniert? Was hast du bisher versucht? – Bahrom

+0

Ich habe viele Male versucht –

+1

Posten Sie Ihren Versuch in der Frage, und wir können versuchen, Ihnen zu helfen, es zu beheben. – Bahrom

Antwort

4
file1 = open("some_file") 
file2 = open("other_file") 

for some_line,other_line in zip(file1,file2): 
    #do something silly 

file1.close() 
file2.close() 

beachten Sie, dass itertools.izip bevorzugt werden, wenn Sie nicht wollen, die gesamte Datei im Speicher speichern ...

auch beachten Sie, dass diese beenden wird, wenn das Ende der beiden Datei erreicht ist ...

+0

danke bro, es funktioniert gut –

0

Warum nicht jede Datei in einer Liste lesen jedes Element in der Liste enthält 1 Zeile.

Sobald Sie beide Dateien in Ihre Listen geladen haben, können Sie Zeile für Zeile (Index für Index) durch Ihre Liste arbeiten und alle erforderlichen Vergleiche/Operationen ausführen.

0

können Sie in einer Schleife so sagen:

for x in range(0, n): 
    read onde line 
    read the other line 

es versuchen

0

Sie können den folgenden Code versuchen:

fin1 = open('file1') 
fin2 = open('file2') 

content1 = fin1.readlines() 
content2 = fin2.readlines() 

length = len(content1) 

for i in range(length): 
    line1, line2 = content1[i].rstrip('\n'),content2[i].rstrip('\n') 
    # do something 

fin1.close() 
fin2.close() 
Verwandte Themen