在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中搜索加载的文件的主要内容,如果未能解决你的问题,请参考以下文章

没有带有拉动刷新的互联网消息 webview 片段

常用python日期日志获取内容循环的代码片段

在 Python 中搜索和替换文件中的一行

Vscode for python ide配置

片段中的Android webView显示空白页面

如何让 videoView 在片段内播放?