python打印文件中的下一个单词
我在打印文件中包含的下一个单词/字符串的代码上出错python打印文件中的下一个单词,python,Python,我在打印文件中包含的下一个单词/字符串的代码上出错 for i in cursor.fetchall(): keywords.append(i[0]) with open('qwer.txt','r') as file: for line in file: for key in keywords: if key in line: line = line.split(". ")
for i in cursor.fetchall():
keywords.append(i[0])
with open('qwer.txt','r') as file:
for line in file:
for key in keywords:
if key in line:
line = line.split(". ")
for j in range(len(line)): <----error(str obj not callable)
print line[key(j+1)] <----error
cursor.fetchall()中的i的:
关键字.append(i[0])
打开('qwer.txt','r')作为文件:
对于文件中的行:
对于输入关键字:
如果输入行:
行=行分割(“.”)
对于范围内的j(长度(直线)):
试图用单个参数j+1
调用key
。但是,key
是一个字符串,因此无法调用。我想您是想使用index键[j+1]
,但这不是一个整数,因此使用它对行
进行索引的尝试将失败
我想你想要的是:
line[line.index(key) + 1]
实际上,您应该在拆分后检查输入行
:
with open('qwer.txt','r') as file:
for line in file:
line = line.split()
for key in keywords:
if key in line:
print line[line.index(key)+1]
打印您的行
并查看它是什么。您正在调用范围
和len
;你确定没有跟踪他们吗?或者那是下一行的错误?完整的回溯会有帮助。我的行“我有一支笔和铅笔”我的输出必须是“笔”,因为我的关键字包含“a”是的,错误也在下一行。你能给出一个文件内容的例子吗?它可以工作,但打印了5次,比如:笔好吧,你不需要<代码>循环!随着实施而更新。
with open('qwer.txt','r') as file:
for line in file:
line = line.split()
for key in keywords:
if key in line:
print line[line.index(key)+1]