我正在尝试让我的代码缩小列表中的单词输入然后将它们排序到不同的列表但是它抛弃了这可以有人帮助我吗?
Traceback (most recent call last):
File "C:/Users/dan/Desktop/python/threeword.py", line 4, in <module>
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 :(得分:2)
你的问题是,当你在words[0]
分配words
所有open(filename)
时,你不能只说出file
python中的open函数没有返回列表(就像你看起来一样)相反,它返回一个open()
对象,如python文档中所述,关于words = open(filename).read()
函数的作用:
打开文件,返回文件类型
的对象
而是做其中之一
words = list(words)
或words[0]
然后您可以执行{{1}}