首页 > 后端开发 > Python教程 > 为什么我的字符串搜索函数总是返回 True?

为什么我的字符串搜索函数总是返回 True?

Mary-Kate Olsen
发布: 2024-12-14 12:09:12
原创
840 人浏览过

Why Does My String Search Function Always Return True?

在文本文件中搜索字符串

为了检测文本文件中是否存在特定字符串,您偶然发现了一个无论字符串是否存在,代码都会意外返回 True 的问题。让我们研究一下代码并纠正问题:

def check():
    datafile = file('example.txt')
    found = False
    for line in datafile:
        if blabla in line:
            found = True
            break

check()
if True:
    print "true"
else:
    print "false"
登录后复制

变量名称 blabla 表明您正在尝试查找一个字符串,但它未在代码中定义。这可能是代码始终返回 True 的问题根源。确保在运行 check() 函数之前使用要搜索的适当字符串定义 blabla。

使用文件读取的替代方法:

with open('example.txt') as f:
    if 'blabla' in f.read():
        print("true")
登录后复制

This方法将整个文件读入内存,从而可以直接搜索字符串。但是,请记住,由于内存限制,此方法可能不适合大文件。

mmap 方法:

import mmap

with open('example.txt') as f:
    s = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
    if s.find('blabla') != -1:
        print('true')
登录后复制

mmap 允许创建内存 -文件的映射表示,有效地创建一个“类似字符串”的对象,该对象使用底层文件,而无需将整个文件读入内存,从而减少内存使用。

以上是为什么我的字符串搜索函数总是返回 True?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板