如何在文本文件中搜索字符串?

HankSmackHood:

我想检查字符串是否在文本文件中。如果是,请执行X。如果不是,请执行Y。但是,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"
史蒂文:

您一直得到的原因True已经给出,因此我只提供另一个建议:

如果文件不是太大,则可以将其读取为字符串,然后使用它(比读取和检查每行更容易且通常更快):

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

另一个技巧:您可以通过mmap.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')

注意:在python 3中,mmap的行为类似于bytearray对象而不是字符串,因此,例如,查找的子序列也find()必须是bytes对象而不是字符串。s.find(b'blabla')

#!/usr/bin/env python3
import mmap

with open('example.txt', 'rb', 0) as file, \
     mmap.mmap(file.fileno(), 0, access=mmap.ACCESS_READ) as s:
    if s.find(b'blabla') != -1:
        print('true')

您还可以在mmap不区分大小写的搜索中使用正则表达式if re.search(br'(?i)blabla', s):

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在文本文件中搜索多个字符串

如何在文本文件中搜索字符串并根据结果执行特定操作

如何搜索字符串并替换文本文件中的字符串?

如何在目录中的所有文本文件中搜索字符串并将找到的结果放在 Python 中的文本文件中

在文本文件中搜索多行字符串

在文本文件中搜索字符串?

在文本文件中搜索字符串的位置

如何在linux系统上搜索包含文本字符串的文本文件

如何在目录中的文本文件中搜索多个字符串模式

在文本文件中搜索字符串时如何包含空格

如何使用Qt在文本文件中搜索字符串

如何更快地在文本文件中搜索字符串

我如何让python3在文本文件中搜索特定的字符串

如何从文本文件中删除字符串?

如何在C中替换文本文件中的字符串/短语

如何在vb.net中的文本文件中读取重复的字符串

如何在JAVA中的文本文件中查找字符串

如何在 Python 中检查在线文本文件中的字符串

如何在文本文件中自动为所有匹配的字符串编号?

如何在文本文件中grep查找包含逗号的以行分隔的字符串?

如何在文本文件中逐行读取和替换字符串?

如何在pyspark中读取一个简单的字符串文本文件?

如何在文本文件中特定的地方附加字符串

搜索文本文件,直到特定的字符串

如何在 Oracle 中添加字符串并使用该字符串名称创建文本文件

如何使用Windows CMD(而非Powershell)搜索和替换文本文件中包含“ =”字符的字符串

如何在文本文件中搜索多个匹配字符串并将求和值放入Excel单元格中

PHP在文本文件中搜索字符串并在特定字符后返回结果

如何使用Windows CMD搜索和替换多个文本文件(目录中)中的字符串?