Ich habe eine Textdatei, die ich gerne einlesen würde und die Tupelzeilen enthält. Jedes Tupel / Zeile im Text hat die Form von ('description string', [Liste der Ganzzahlen 1], [Liste der Ganzzahlen 2]). Die Textdatei könnte etwa so aussehen:
("Punkt 1", [1,2,3,4], [4,3,2,1])
("Punkt 2", [], [4,3,2,1])
("Punkt 3, [1,2], [])
Ich möchte in der Lage sein, jede Zeile aus der Textdatei zu lesen und sie dann direkt in eine Funktion einzufügen, in der
steht %Vor%Ich weiß, dass jede Zeile als eine Zeichenfolge eingelesen wird, aber ich muss diese Zeichenfolge etwas wie extrahieren. Ich habe versucht, eine string.split (',') zu verwenden, aber das kommt zu Problemen, wenn ich auf die Listen stoße. Gibt es eine Möglichkeit, dies zu erreichen, oder muss ich meine Textdateien ändern, wie?
Ich habe auch eine Textdatei aus einer Liste von Tupeln, die ich ähnlich lesen möchte, in der Form von
[(1,2), (3,4), (5,6), ...]
, das eine beliebige Anzahl an Tupeln enthalten kann. Ich möchte es in einer Liste lesen und für jedes Tupel in der Liste eine for-Schleife machen. Ich denke, diese beiden werden ungefähr den gleichen Prozess verwenden.
Wie wäre es mit eval
?
BEARBEITEN Siehe @ Ignacios Antwort mit ast.literal_eval
.
Ich würde dies nur empfehlen, wenn Sie den Inhalt der Datei zu 100% sicher haben.
%Vor%Siehe @ Ignacios Antwort ... viel, viel sicherer.
Die Verwendung von ast würde Folgendes ergeben:
%Vor%