2013-01-21 122 views
0

所以,我剛剛開始使用python,並已經學會了如何解決一些問題,但我堅持使用這個和我搜索的東西,並沒有幫助我。python問題入門

這是我的test.py文件:http://pastebin.com/TzASyCxm其中我使用mysql並將一些數據輸出到LCD屏幕。

現在,在我的腳本執行的代碼返回以下錯誤:

self.ip[host] = socket.gethostbyname(host) 
TypeError: 'str' object does not support item assignment 

我試圖做這樣一個簡單的,在PHP中:

$data = array(); 
$test = 'level1'; 
$data[$test] = 'alex'; 

回答

1

如PHP,在需要用一個空數組array()來初始化變量$data,以便索引和分配元件給它,以類似的方式,您需要指定一個字典self.ip以隨後索引和分配值。

你可以做到這一點與需求各不相同,但我們一般堅持兩種格式之一

self.ip = dict() 
self.ip = {} 

注方式

Python的錯誤信息是自解釋,你可以很容易地識別從它的問題

TypeError: 'str' object does not support item assignment 

這意味着self.ip是一個字符串對象,在Python中,字符串對象是不可變的,不像C/C++那樣索引。很可能,您可能在失敗之前使用字符串在某處初始化了此變量。

+0

是啊...我這個笨蛋,這個消息很明顯。謝謝 – Alex

+0

@ w0rldart:如果這個或其他答案有幫助,請考慮接受它 – Abhijit

1

由於錯誤狀態, self.ip是一個字符串,你不能分配給一個字符串內的元素。

大概你意在將其初始化爲一個字典:self.ip = {}