Python - эффективный способ проверить, содержит ли очень большая строка подстроку

Python - не лучший мой язык, поэтому я не настолько хорош в нахождении наиболее эффективных решений для некоторых из мои проблемы. У меня очень большая строка (исходящая из файла размером 30 МБ), и мне нужно проверить, содержит ли этот файл подстроку меньшего размера (эта строка состоит всего из нескольких десятков символов). Сейчас я делаю это следующим образом:

if small_string in large_string:
    # logic here

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

РЕДАКТИРОВАТЬ: Чтобы устранить некоторую путаницу с «сопоставлением в только новая строка ", вот пример:

small_string = "This is a line"
big_string = "This is a line\nThis is another line\nThis is yet another"

Если я не ошибаюсь, ключевое слово in будет проверять все последовательности, а не только каждую строку.

9
задан Jon Martin 24 August 2011 в 12:04
поделиться