9
需要幫助。 有一個名爲arglist的數據列表,例如: ['dlink','des','1210','c',24] < - 這是什麼「打印」視圖。Python類型錯誤:預期的字符串或緩衝區
而這種代碼:
sw_info ={"Brand":arglist[0],
"Model":arglist[1],
"Hardware":arglist[2],
"Software":arglist[3],
"Portsnum":arglist[4]}
print json.dumps(sw_info, open("test", "w"))
z = json.loads(open("test", "r"))
print s
它提供:
Traceback (most recent call last):
File "parsetest.py", line 34, in <module>
z = json.loads(open("test", "r"))
File "/usr/lib64/python2.6/site-packages/simplejson/__init__.py", line 307, in loads
return _default_decoder.decode(s)
File "/usr/lib64/python2.6/site-packages/simplejson/decoder.py", line 335, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer
的哪些錯誤?
你正在試圖加載一個文件對象,而不是一個字符串。如果你想使用文件而不是字符串,你應該使用'json.load'和'json.dump'。 – geoffspear
調試的第一條規則是假設錯誤告訴你字面的真相。它期待一個字符串,但你沒有給它一個。所以,開始你的調查,爲什麼你傳遞的東西不是字符串,或者爲什麼你使用的函數需要一個字符串,當你有別的東西。 –
你說得對。非常明顯。感謝幫助。 – Jetpylot