如何用python中的一些单词读取文本文件

如何用python中的一些单词读取文本文件,python,string,file,Python,String,File,我是python新手,请帮我的忙,我有如下代码: fobj = open("data.txt") text = fobj.read().strip().split() 条件 如果我在文件.txt中搜索完整的单词,结果是可以的,但是如果我搜索某个单词,结果是“没有找到这样的字符串,请重试” 例如: Enter a string: oke oke > ================================ RESTART ==================

我是python新手,请帮我的忙,我有如下代码:

fobj = open("data.txt") 
text = fobj.read().strip().split()
条件 如果我在文件.txt中搜索完整的单词,结果是可以的,但是如果我搜索某个单词,结果是“没有找到这样的字符串,请重试”

例如:

Enter a string: oke
oke

> ================================ RESTART ================================
>
Enter a string: ok
No such string found,try again
我想如果我写“ok”,结果必须是“oke bla bla bla”和一行
请帮助我的卡滞,提前感谢

您的问题来自于您已从文件中读取文本并将其按空格分割。这样做将通过字符串中的空格将文本标记为字符串列表

e、 g.
“这是一个测试”。split()
变成
[“这”、“是”、“a”、“测试”]

因此,您通过
input
读取的任何输入(一个完整字符串)都必须以类似的方式进行拆分和比较


最简单的方法是不要对空格进行
拆分
,您的比较应该按预期进行。

fobj.read().strip().split()
通过空格将整个字符串(从文件中读取)拆分为字符串标记列表。因此,您通过
input
输入的任何内容都必须以类似的方式进行比较。删除
split
,理论上你应该没事。你的意思是,我必须在输入中写一句话?@adeirawan:不-我的意思是:你的文件必须作为单个字符串读入-也就是说,将
text=fobj.read().strip().split()
更改为
text=fobj.read().strip())
我想输入一个单词,结果必须是一行。我在工作中应该做些什么code@adeirawan:如果我理解正确(如果我错了,请纠正我),您有一个跨多行的文本文件。您想知道是否输入了单词,文本文件的哪一行包含您通过
input
输入的单词。是吗?是的,通过输入。。我已经改变你的建议,是的,它的工作,但结果不完全适合我的文件.txt
Enter a string: oke
oke

> ================================ RESTART ================================
>
Enter a string: ok
No such string found,try again