在Python中搜索加载的文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python中搜索加载的文件相关的知识,希望对你有一定的参考价值。
我正在尝试对文本文件中包含的信息进行分类,但我遇到了一个奇怪的问题:我加载文件,将信息放入变量(这是一个字符串),当我尝试使用str.find()进行搜索时关键词,我总是得-1。如果我打印出变量的内容,显式地将它放入变量并以相同的方式使用str.find(),我得到了正确的结果。两个变量都具有相同的内容,它们都是字符串,但其中一个是不可搜索的。我做错了什么?这让我疯狂。
示例代码:
f=open('D:/test.txt','r')
print(f.read())
var1=f.read()
print(type(var1)) #<class 'str'>
print(str.find(var1,"name")) #gives -1
var2='{"_id": "12345", "name": "Bob", "Age": 30}' #copied manually from the first print
print(type(var2)) #<class 'str'> #gives 18
var1.find(“name”)也不起作用。我正在使用Python 3.6和PyCharm。
提前致谢。
答案
你面临的问题是由于你的第一个print(f.read())
线。调用f.read()
会从文件中提取所有数据,因此文件读取位置将在结尾处。以下read
不会返回任何内容,因为您已经到达文件末尾。
删除该行应该可以解决您的问题。另一个解决方案是在f.seek(0)
之前添加var1=f.read()
,它将文件读取位置重置到文件的开头。
以上是关于在Python中搜索加载的文件的主要内容,如果未能解决你的问题,请参考以下文章