1

使用 Python 运行此代码时出现此错误:

TypeError:“NoneType”对象不可订阅”。

代码:

number = 0

with open('playlist.txt') as read_number_lines:
    for line in read_number_lines:
        if line.strip():
            number += 1

number = number - 1
print 'number: ', number

for i in range(number):
    author_ = raw_input('author: ')
    line = input('line: ')
    file = open('playlist.txt','a').writelines(' - ' + author_)[line]

我如何解决它?

4

1 回答 1

1

你有几个问题

file = open('playlist.txt','a').writelines(' - ' + author_)[line]

您的错误的直接来源是它.writelines()不返回任何东西(所以它返回None)您试图使用[line]. 这会产生你的错误。

此外,您不应该open()直接在调用中调用该方法。

整个第二个for循环对我来说很神秘。您在循环的每次迭代期间再次打开该文件(您不想这样做;它甚至可能不起作用)。

也许你想做类似的事情

with open('playlist.txt','a') as file:
    for i in range(number):
        author_ = raw_input('author: ')
        line = raw_input('line: ')
        file.write(author + " - " + line)

但仍然很难看出这一点......

于 2013-08-03T19:58:11.797 回答