尝试使用Python在文本文件中查找相同的字符串会返回两个不同的结果

尝试使用Python在文本文件中查找相同的字符串会返回两个不同的结果,python,Python,我有一个名为“testing.txt”的文本文件。 如果我尝试使用find()查找其中的字符串,只要它给出了位置。如果我第二次这样做,它会告诉我字符串不在文件中。以下是代码(来自shell): 用第一行代码重新加载blast可以重置此问题。 我做错了什么?第一次读取会耗尽文件迭代器,因此第二次读取返回空字符串,因此find返回-1 您可以查找文件的开头,以便全面读取文件: >>> blast.read().find("AC068207.60") 25 >>>

我有一个名为“testing.txt”的文本文件。 如果我尝试使用find()查找其中的字符串,只要它给出了位置。如果我第二次这样做,它会告诉我字符串不在文件中。以下是代码(来自shell):

用第一行代码重新加载blast可以重置此问题。
我做错了什么?

第一次读取会耗尽文件迭代器,因此第二次读取返回空字符串,因此find返回-1

您可以查找文件的开头,以便全面读取文件:

>>> blast.read().find("AC068207.60")
25
>>> blast.seek(0)
>>> blast.read().find("AC068207.60")

另一方面,请记住关闭文件对象。

谢谢,这解决了问题。欢迎使用StackOverflow!请接受解决您问题的答案(请按其左侧的复选标记)。你可能只有在一段时间后才能这样做,以避免鲁莽。顺便说一句,为了节省空间和阅读时间,通常不鼓励像“谢谢”这样的评论。
>>> blast.read().find("AC068207.60")
25
>>> blast.seek(0)
>>> blast.read().find("AC068207.60")