2016-09-20 9 views
-1

Ich bin neu in Python. Ich lese hier einige Zeilen in einer Dateidynamisch erstellen Schlüssel und Werte im Wörterbuch in Python

121212-pr-ba-su_re;m1;1;10000 

I extrahiert haben ein Format mit (pr-ba-su) Inhalt Split-Funktion verwenden. Bitte sehen Sie den Code, den ich geschrieben habe. Ich möchte das Präfix-Basis-Suffix als einen Schlüssel und seinen Wert als ID (die in der ersten Zeile der Schleife extrahiert wird) in einem Wörterbuch speichern. (Ich möchte den Schlüssel mit dem Wert in einer anderen Liste ersetzen. Daher versuche ich, ein Wörterbuch zu erstellen.)

data ={}  
    f = open('var_test.txt') 
    for line in f: 
      part,m,t,ID = line.split(';',3) 
      partnumb,r = part.split('_',1) 
      item,prefix,base,suffix =partnumb.split('-',3) 
      data[prefix'-'base'-'suffix] =ID 

Aber ich bin immer einen Fehler als Syntaxfehler

 data(getattr([prefix'-'base'-'suffix])) =PID 
          ^SyntaxError: invalid syntax 

ich versucht habe, mit getattr() -Funktion, und Update-Funktion, aber kein Nutzen. Kann mir jemand helfen? Danke vielmals.

+1

'data [Präfix + '-' + base + '-' + Suffix] erwarten = ID' ist, wie Sie Strings verketten. –

+0

@makino das ist nicht, wie Sie Strings verketten ... – njzk2

Antwort

1

Die Linie data[prefix'-'base'-'suffix] =ID ist Ihr Problem. Es ist keine gültige Python-Syntax.

Sie könnten die Ergebnisse erhalten Sie durch Substitution für diese Linie

data["{}-{}-{}".format(prefix, base, suffix)] = ID

Verwandte Themen