1. ホーム
  2. python

[解決済み] buildin_function_or_method' オブジェクトに '__getitem__' という属性がない Python のエラー

2022-03-04 01:14:37

質問

私はデータを送信するために選択されたターゲットとマシンの間で送信することを計画しているデータを解釈しようとしている次のコードはこれを行うことになっています(ターゲットは任意の長さの数字であり、"/"で始まる必要があります)私は全体のコードが優れていないと私はおそらくかなりすべてのために間違った名前を使用していることを知っているが、私は少し助けを借りて、それが機能することを願っています

def Interpret(command):
    if(command[0] != "/"):
        return "ERROR"
    o = 1
    targetstr = []
    while(command[o] != " "):
        targetstr.append[command[o]]
        o = o + 1
    try:
        "".join(targetstr)
        target = int(targetstr)
    except:
        return "ERROR"
    data = []
    for i in range(o + 1, len(command)):
        data.append(command[i])
    return [target, "".join(data)]


を実行するたびに、このエラーメッセージが表示されます。 targetstr.append[コマンド[o]]を実行します。 TypeError: 'builtin_function_or_method' オブジェクトには ' 属性がありません。 取得項目 ' (明らかにターゲットとデータを含む配列が得られるはずです)

どのように解決するのですか?

list.append() は関数

targetstr.append[command[o]]

とする必要があります。

targetstr.append(command[o])

このようなエラーが発生するのは、角括弧構文で foo[bar] Python は実際には foo.__getitem__(bar) であり、appendメソッドには属性/メソッドである __getitem__