Linecache в Python не кэширует указанные строки

Я использую linecache, чтобы получить строки до появления строки. Но это не работает. Я не могу понять, в чем проблема?

with open(fileName, 'r') as inFile:
    between = False
        for num, line in enumerate(inFile, 1):
        if st_time in line:
            between = True
        if between:
            if 'Broken pipe' in line:
                line1 = linecache.getline(fileName, num-55)
            if 'ERROR' in line1:
                print("yes")
        if en_time in line:
            between = False

1 ответ

Это была проблема, которую один из вас упомянул. Linecache не будет хранить все строки, он будет хранить только указанную строку. Например, line1 = linecache.getline(fileName, num - 22) будет хранить только (num -22) -ю строку. Я думал, что он будет храниться до (num-22) -ой строки.

Другие вопросы по тегам