迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 在文件中查找字符串

作者:迹忆客 最近更新:2023/12/17 浏览次数:

本教程介绍了如何在 Python 中查找文本文件中的特定字符串。


在 Python 中使用文件 readlines() 方法查找文件中的字符串

Pyton 文件 readlines() 方法将文件内容按新行分割成一个列表返回。我们可以使用 for 循环对列表进行遍历,并在每次迭代中使用 in 操作符检查字符串是否在行中。

如果在行中找到了字符串,则返回 True 并中断循环。如果在迭代所有行后没有找到字符串,它最终返回 False

下面给出了这种方法的示例代码。

file = open("temp.txt", "w")
file.write("blabla is nothing.")
file.close()


def check_string():
    with open("temp.txt") as temp_f:
        datafile = temp_f.readlines()
    for line in datafile:
        if "blabla" in line:
            return True  # The string is found
    return False  # The string does not exist in the file


if check_string():
    print("True")
else:
    print("False")

输出:

True

在 Python 中使用文件 read() 方法搜索文件中的字符串

文件 read() 方法将文件的内容作为一个完整的字符串返回。然后我们可以使用 in 操作符来检查该字符串是否在返回的字符串中。

下面给出一个示例代码。

file = open("temp.txt", "w")
file.write("blabla is nothing.")
file.close()


with open("temp.txt") as f:
    if "blabla" in f.read():
        print("True")

输出:

True

在 Python 中使用 find 方法搜索文件中的字符串

一个简单的 find 方法可以与 read() 方法一起使用,以找到文件中的字符串。find 方法被传递给所需的字符串。如果找到了字符串,它返回 0,如果没有找到,则返回 -1

下面给出一个示例代码。

file = open("temp.txt", "w")
file.write("blabla is nothing.")
file.close()

print(open("temp.txt", "r").read().find("blablAa"))

输出:

-1

在 Python 中使用 mmap 模块搜索文件中的字符串

mmap 模块也可以用来在 Python 中查找文件中的字符串,如果文件大小比较大,可以提高性能。mmap.mmap() 方法在 Python 2 中创建了一个类似字符串的对象,它只检查隐含的文件,不读取整个文件。

下面给出一个 Python 2 中的示例代码。

# python 2

import mmap

file = open("temp.txt", "w")
file.write("blabla is nothing.")
file.close()

with open("temp.txt") as f:
    s = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
    if s.find("blabla") != -1:
        print("True")

输出:

True

然而,在 Python 3 及以上版本中,mmap 并不像字符串对象一样,而是创建一个 bytearray 对象。所以 find 方法是寻找字节而不是字符串。

下面给出一个示例代码。

import mmap

file = open("temp.txt", "w")
file.write("blabla is nothing.")
file.close()

with open("temp.txt") as f:
    s = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
    if s.find(b"blabla") != -1:
        print("True")

输出:

True

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中的字典数组或列表

发布时间:2023/12/18 浏览次数:125 分类:Python

本教程演示了如何在 Python 中创建字典数组。Python 中的字典以键值对的形式构成一组元素。列表可以在一个公共名称和特定索引下存储不同类型的元素。

检查索引是否存在于 Python 列表中

发布时间:2023/12/18 浏览次数:185 分类:Python

本教程演示了使用列表范围和 IndexError 异常检查 Python 列表中是否存在索引。我们将介绍两种使用列表范围和 IndexError 异常检查列表索引是否存在的方法。

在 Python 中对数字列表进行归一化

发布时间:2023/12/18 浏览次数:50 分类:Python

本教程演示如何归一化 python 中的数字列表。归一化意味着将给定的数据转换为另一个尺度。我们重新调整数据,使其介于两个值之间。

如何在 Python 中创建具有特定大小的列表

发布时间:2023/12/18 浏览次数:178 分类:Python

本教程介绍了如何在 Python 中创建具有特定大小的列表。当程序员提前知道元素数量时,为列表或数组预分配存储空间是程序员经常用地方式。

在 Python 中的列表中删除多个元素

发布时间:2023/12/18 浏览次数:188 分类:Python

我们可以使用 if...else 控制语句、列表推导式、列表切片和 for 循环从 Python 中的列表中删除多个元素。要从 Python 列表中删除多个值,我们可以删除列表的实际值或要从列表中删除的值的索引。

如何在 Python 中获取一个列表的平均值

发布时间:2023/12/18 浏览次数:142 分类:Python

本教程将演示如何在 Python 中使用 statistics.mean 获得一个给定列表的平均值。本教程介绍了如何在 Python 中计算一个列表的平均数。

在 Python 中将字典转换为列表

发布时间:2023/12/18 浏览次数:54 分类:Python

本文介绍如何在 Python 中将字典转换为列表。Python 中的字典是由键-值对组合而成。在 key 的帮助下,你可以访问字典里面的值。

从 Python 列表中删除某元素的所有出现

发布时间:2023/12/18 浏览次数:163 分类:Python

在本文中,我们将看到如何在 Python 中从一个 List 中删除一个元素的所有出现。在 Python 中,列表允许同一个元素多次出现。即使一个元素的值可能与其他元素相同

在Python中将十六进制转换为字节

发布时间:2023/12/18 浏览次数:153 分类:Python

本教程介绍了如何在Python中将十六进制值转换为字节文字。十六进制,通常简写为hex,使用16个符号(0-9,a-f)表示值,与十进制的10个符号形成对比。例如,十进制中的1000在十六进制中是3E8。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便