1
我有一些代碼,原本看起來像這樣(指它的一部分循環,對查詢結果進行迭代):的Python認爲psycopg2 DictRow是名單(至少,這是什麼樣子)
title['name'] += 'x'
我有時會出現以下情況例外(總是在同一行):
<class 'psycopg2.extras.DictRow'>
Traceback (most recent call last):
File "rtk_film_nos.py", line 231, in <module>
main()
File "rtk_film_nos.py", line 150, in main
title['name'] += 'x'
TypeError: list indices must be integers, not str
我改變了代碼更加詳細:
foo = title['name']
foo += 'x'
print type(title)
title['name'] = foo
異常改變:
<class 'psycopg2.extras.DictRow'>
Traceback (most recent call last):
File "rtk_film_nos.py", line 231, in <module>
main()
File "rtk_film_nos.py", line 150, in main
title['name'] = foo
TypeError: list indices must be integers, not str
如果我在try /包的代碼,除了它會很樂意打印標題[「名稱」]的內容。
我在茫然,我做錯了什麼。似乎由於某種原因,python(v2.6.6)正在決定將字典作爲一個列表來處理,但我不知道爲什麼。
什麼版本Psycopg2的這是什麼? –