0

所以,我刚开始使用 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';
4

2 回答 2

1

正如错误所述,self.ip是一个字符串,您不能分配给字符串中的元素。

大概您打算将其初始化为字典:self.ip = {}

于 2013-01-21T12:48:53.100 回答
1

与在 PHP 中一样,您需要$data使用空数组初始化变量array(),以便对其进行索引和分配元素,以类似的方式,您需要分配一个字典self.ip以随后进行索引和分配值。

您可以使用的方法因要求而异,但我们通常坚持两种格式中的一种

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

笔记

Python 错误消息是不言自明的,您可以从中轻松识别问题

TypeError: 'str' object does not support item assignment

这意味着它self.ip是一个字符串对象,在 Python 中,字符串对象是不可变的,不像 C/C++ 那样不能被索引。很可能,您可能在失败之前用字符串初始化了这个变量。

于 2013-01-21T12:51:58.150 回答