python - 在文件中查找字符串的最快方法

标签 python python-2.7

我尝试了很多在文件中查找字符串的方法,但都很慢。我只需要:

  • 在文件中查找字符串
  • 打印字符串所在的行

到目前为止,我所做的只是读取一个文件(尝试了很多方法),然后检查我要查找的字符串是否位于当前行中。如果不是,检查下一行等。

执行此操作的最佳方法是什么?

最佳答案

以下内容适用于第一次出现的子字符串 something。如果未找到匹配项,则分配 None;延迟读取文件直到第一个匹配项。

with open('input.txt') as f:
    line = next((l for l in f if something in l), None)

要查找所有匹配项,您可以使用列表理解:

with open('input.txt') as f:
    lines = [l for l in f if something in l]

我不知道你在纯 python 中是否能比这快得多。

关于python - 在文件中查找字符串的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37078978/

相关文章:

python - 将具有多索引的每日数据框转换为季度数据框

python - 使用 Python 将句子列表写入 csv 中的单个列

python - 将相同的字符串重复添加到列表中以使其成为元组

java - Python 2.7 selenium webdriver 无法读取 java 站点上的表内容

python - 如何降低Python中计算阶乘长度的程序的时间复杂度?

python - 使用 Selenium 在 Mac 上打开选项卡、关闭选项卡并退出 Firefox?

python - 如何从 PyQt 中的 QListWidget 更新与 QListWidgetItem 关联的数据?

python - 对pandas数据透视表中的月份列进行排序

Apache VirtualHost 后面带有 WSGI 的 Django 给出 404

python sqlite 将行添加到 sql 数据库,其中行作为字典给出