-1

次のコードフラグメント:

def func_5_2(datei, num):
    import linecache
    i = 0
    number = num + 1
    l = []
    while True:
        l[i] = linecache.getline(datei, number)
        if (l[i] == ''):
            break

この回線で発生する問題を修正することは可能ですか?

list[i] = linecache.getline(datei, number)

これが私が得るエラーです:

File "/home/user/gosection.py", line 27, in func_5_2
  list[i] = linecache.getline(datei, number)
TypeError: 'type' object does not support item assignment

ご協力いただきありがとうございます!

4

1 に答える 1

1

listオブジェクトが定義されていないため、この例外が発生します。list使用する前に初期化してください。

たとえば、次のようになります。

list = []

コードは、組み込みのシーケンスタイプリストにアイテムを割り当てようとしています。

既存の型のように変数に名前を付けるのは良い習慣ではありません...変数に次のような別の名前を付けてlinesください:

>>> lines = []
>>> type(lines)
<class 'list'>
于 2011-12-06T22:07:21.050 に答える