2016-04-10 15 views
0

Ich habe eine txt-Datei wie folgt:Einen Wörterbuch aus einer Textdatei:

matt=Lives in oakland 
drey=lives in San Francisco 

wie kann ich ein Wörterbuch wie diese

machen
{matt:Lives in oakland,drey:lives in San Francisco} 

ich diesen Code verwendet:

d = {} 
with open('hints.txt', 'r') as f: 
    for line in f:   
     name, residence = line.strip().split('=') 
     d[name] = residence 

Es gibt mir diesen Fehler:

ValueError: not enough values to unpack (expected 2, got 1) 
+1

Können Sie Ihre Codierung Versuch zeigen Daran und erklären, was zur Zeit für dich nicht klappt? – idjaw

+0

Haben Sie [configparser] (https://docs.python.org/2/library/configparser.html) gesehen? – zondo

+2

Auch Ihre erwartete Ausgabe ist keine gültige Python-Datenstruktur. Meinst du: '{'matt': 'lebt in oakland', 'drey': 'lebt in San Francisco'}'? – schwobaseggl

Antwort

1

Schleife durch die Linien, teilen sie auf = und ein dict auf dem Weg bauen:

d = {} 
with open('file.txt', 'r') as f: 
    for line in f:   
     name, residence = line.strip().split('=') 
     d[name] = residence 
2

Split auf '=' und dann schicken Sie es an dict():

with open('in.txt') as f: 
    d = dict(line.strip().split('=') for line in f) 
Verwandte Themen