我尝试了多种在文件中查找字符串的方法,但都很慢。我所需要的只是:
到目前为止我所做的只是读取一个文件(尝试了很多方法),然后检查我正在查找的字符串是否位于当前行。如果没有,请检查下一行,依此类推。
做这个的最好方式是什么?
以下内容适用于子字符串第一次出现的情况something。None如果没有找到匹配则分配;文件被延迟读取直到第一个匹配项。
with open('input.txt') as f:
line = next((l for l in f if something in l), None)
Run Code Online (Sandbox Code Playgroud)
要查找所有匹配项,您可以使用列表理解:
with open('input.txt') as f:
lines = [l for l in f if something in l]
Run Code Online (Sandbox Code Playgroud)
我不知道你是否可以在纯Python中比这快得多。