Python搜索文件中的行部分

时间:2017-11-09 22:09:33

标签: python

使用以下方法搜索文件行中的模式非常容易:

z = "/path/to/file/log.log"

with open(z) as file:
    for line in file:
        x = "pattern"
        if x in line:
            print(line)

我想知道你是否可以避免搜索整行,而只关注一个部分。尽管这不起作用:

for line[10:20] in file:

基本上只搜索该区域并忽略其余区域以加快进程。

2 个答案:

答案 0 :(得分:2)

要测试某个模式是否包含在某一行的特定切片中,而不是该行中的任何位置,请使用:

for line in file:
    if pattern in line[10:20]:
        # found it

答案 1 :(得分:0)

你可以试试这个:

with open("file") as fp:
    for i, line in enumerate(fp):
        if i >= 10 and i < 20:
             x = "pattern"
             if x in line:
                  print(line)