Ich versuche, die folgende Textdatei in ein Wörterbuch zu legen, aber ich möchte, dass jeder Abschnitt mit '#' beginnt oder leere Zeilen ignoriert werden.Python: Textdatei in dict lesen und Kommentare ignorieren
Meine Textdatei sieht wie folgt aus etwas:
# This is my header info followed by an empty line
Apples 1 # I want to ignore this comment
Oranges 3 # I want to ignore this comment
#~*~*~*~*~*~*~*Another comment~*~*~*~*~*~*~*~*~*~*
Bananas 5 # I want to ignore this comment too!
Meine gewünschte Ausgabe wäre:
myVariables = {'Apples': 1, 'Oranges': 3, 'Bananas': 5}
Mein Python-Code lautet wie folgt:
filename = "myFile.txt"
myVariables = {}
with open(filename) as f:
for line in f:
if line.startswith('#') or not line:
next(f)
key, val = line.split()
myVariables[key] = val
print "key: " + str(key) + " and value: " + str(val)
Der Fehler, den ich bekommen :
Traceback (most recent call last):
File "C:/Python27/test_1.py", line 11, in <module>
key, val = line.split()
ValueError: need more than 1 value to unpack
Ich verstehe den Fehler, aber ich verstehe nicht, was mit dem Code falsch ist.
Vielen Dank im Voraus!
Haben Sie die Kontrolle über das Textdateiformat? wenn ja, vielleicht PyYAML verwenden? –
Leider nicht. Das Textformat ist das, wozu ich beauftragt wurde. – SilverEyes9
Haben Sie die Antworten überprüft? Ein paar gute Ansätze wurden gegeben. Gehen Sie durch sie und fragen Sie, ob Sie weitere Informationen benötigen. – Pouria