Ich habe eine Datei mit 11 Zeilen. Ich schreibe eine Funktion, die die Zeile mit "XYZ" überspringt und die erste und zweite Spalte der restlichen Zeilen in der Datei zurückgibt. Wenn ich das Modul starte, überspringt es die "XYZ" -Zeile, gibt aber nur die erste der verbleibenden Zeilen zurück.Warum füllt meine Python-Funktion nur ein Wörterbuch mit einer Zeile aus einer Datei?
def popdict(my_file):
for line in my_file:
if "XYZ" in line:
pass
else:
x = line.split()
a = x[1]
b = x[0]
d[a] = b
return d
Merkwürdigerweise, wenn ich die for
Schleife in dem Interpreter-Test (das heißt, ich es nicht als Modul Import), liefert es die richtigen Zeilen.
Irgendwelche Gedanken?
Ihre 'return' Innerhalb der for-Schleife gibt von Funktion die Funktion das erste Mal Ihre else-Klausel ausgeführt wird! –