2016-09-20 72 views
-1

我是Python的新手。我在這裏讀幾行的文件採用分體式功能有格式在Python中的字典中動態創建鍵和值

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

我已經提取(PR-BA-SU)的內容。請看我寫的代碼。我希望將Prefix-base-suffix作爲關鍵字存儲,並將它的值作爲ID(在第一行循環中提取)存儲在字典中。 (我想替換值的鍵在另一個列表。因此,我試圖創建一個字典。)

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 

但我得到一個錯誤的語法錯誤

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

我曾嘗試使用getattr()函數,並更新功能,但無濟於事。誰能幫助我?非常感謝。

+1

'數據[前綴+ ' - ' +基地+ ' - ' +後綴]的結果= ID'是你如何連接字符串。 –

+0

@makino這不是你如何連接字符串... – njzk2

回答

1

data[prefix'-'base'-'suffix] =ID是你的問題。它不是有效的Python語法。

你可以得到你所期望通過置換該行

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