Есть несколько способов решить проблему. Проблема (на основе моего быстрого теста) вызвана вызовом подстроки, которую вы делаете: str.find () индексирует с первой позиции, которую вы задаете для last-1, поэтому подстрока, которую вы ищете в этом случае, будет равна 3 длинных символов (TRE), даже если в этой позиции будет совпадение. Так что вы можете исправить это, просто увеличив конечную позицию до 99.
Однако find () также возвращает позицию, в которой она находит подстроку, (-1), если не найдена. Вы могли бы добиться хорошего результата, выполнив поиск без указания местоположения и проверки возвращаемого значения, таким образом надежно обрабатывая случай более короткой строки.
substr = "TRED"
with open(strFileLoc + "test.txt", 'r') as inputfile:
for line in inputfile:
loc = line.find(substr)
if loc == 95:
print(line.rstrip('\n'))
else:
print("There was an error at " + line.rstrip('\n'))