创建脚本时出现:TypeError:'_io.TextIOWrapper'对象不可索引

11 浏览
0 Comments

创建脚本时出现:TypeError:'_io.TextIOWrapper'对象不可索引

我正试图让我的代码从一个输入中缩小到一个列表中的单词,然后将它们排序到另一个列表中,但是它报错了,有人可以帮帮我吗?

Traceback (most recent call last):
File "C:/Users/dan/Desktop/python/threeword.py", line 4, in 
word = words[x],words[(x+1)],words[(x+2)]
TypeError: '_io.TextIOWrapper' object is not subscriptable
words=open("three.txt",'r+')
f=open("three1","w")
for x in words:
   word = words[x],words[(x+1)],words[(x+2)]
   print(word)
   input=('y or n')
   if input=="y":
       f.write(word)
       x=x+3
   elif input=='stop':
       break
   else:
       x=x+3
f.close()

0
0 Comments

问题的出现原因是在创建脚本时,使用了错误的语法。在代码中,words[0] 的语法是错误的,因为 words 被赋值为 open(filename),而在Python中,open() 函数返回的是一个文件对象,而不是一个列表。

解决方法是使用正确的语法。可以通过以下两种方式解决问题:

1. 使用 words = open(filename).read() 将文件内容读取为字符串,然后再进行操作。

2. 使用 words = list(words) 将文件内容转换为列表,然后再进行操作。

通过以上解决方法,即可正确地使用 words[0] 进行操作。

0