我設置了一個字典,從一個文件填充它,像這樣:Python程序處理字典像繩子
filedusers = {} # cheap way to keep track of users, not for production
FILE = open(r"G:\School\CS442\users.txt", "r")
filedusers = ast.literal_eval("\"{" + FILE.readline().strip() + "}\"")
FILE.close()
再後來我做了一個測試就可以了,就像這樣:
if not filedusers.get(words[0]):
其中words[0]
是一個用戶名字符串,但我得到了以下錯誤:
'str' object has no attribute 'get'
但我覈實ALRE ady在FILE.close()
後面我有一本字典,它有正確的值。
任何想法是怎麼回事?
更好的序列化方法是使用JSON:import json; json.FILE.write(json.dumps(filedusers)) - eval是各種邪惡的根源 –
@Mikko,謝謝,這只是做一些基本的事情,所以我可以在重要的代碼上工作,沒有機會使用這個用於生產。 –
但我可以保證json的工作,它是自Python 2.6以來stdlib的一部分:) –