我尝试了很多在文件中查找字符串的方法,但都很慢。我只需要:
- 在文件中查找字符串
- 打印字符串所在的行
到目前为止,我所做的只是读取一个文件(尝试了很多方法),然后检查我要查找的字符串是否位于当前行中。如果不是,检查下一行等。
执行此操作的最佳方法是什么?
最佳答案
以下内容适用于第一次出现的子字符串 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/