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

$dataPHP のように、空の配列で変数を初期化してarray()要素にインデックスを付けて割り当てる必要がある場合と同様に、同様の方法で辞書を割り当てて、self.ip後でインデックスを付けて値を割り当てる必要があります。

方法は要件によって異なりますが、通常は 2 つの形式のいずれかに固執します。

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 に答える