Home > Backend Development > Python Tutorial > Why Does My String Search Function Always Return True?

Why Does My String Search Function Always Return True?

Mary-Kate Olsen
Release: 2024-12-14 12:09:12
Original
922 people have browsed it

Why Does My String Search Function Always Return True?

Searching for Strings in Text Files

Seeking to detect the presence of a particular string within a text file, you've stumbled upon an issue where the code unexpectedly returns True regardless of the string's existence. Let's investigate the code and rectify the issue:

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"
Copy after login

The variable name blabla suggests that there's a string you're trying to find, but it's not defined within the code. This is likely the source of the issue where the code always returns True. Ensure that you define blabla with the appropriate string you're searching for before running the check() function.

Alternative Approach using file read:

with open('example.txt') as f:
    if 'blabla' in f.read():
        print("true")
Copy after login

This method reads the entire file into memory, enabling direct searching for the string. However, keep in mind that this approach might not be suitable for large files due to memory limitations.

mmap Approach:

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')
Copy after login

mmap allows creating a memory-mapped representation of the file, effectively creating a "string-like" object that uses the underlying file without reading the entire file into memory, reducing memory usage.

The above is the detailed content of Why Does My String Search Function Always Return True?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template