Похоже, что вы действительно хотите, это возможность печатать большую подстроку таким образом, чтобы вы могли легко увидеть, где находится конкретная подстрока.Есть несколько способов приблизиться к этому.
def grep(large_string, substring):
for line, i in enumerate(large_string.split('\n')):
if substring in line:
print("{}: {}".format(i, line))
Это напечатало бы только те строки, которые имеют вашу подстроку.Тем не менее, вы потеряли бы кучу контекста.Если вам нужен истинный grep, замените if substring in line
на то, что использует модуль re
для сопоставления регулярных выражений.
def highlight(large_string, substring):
from colorama import Fore
text_in_between = large_string.split(substring)
highlighted_substring = "{}{}{}".format(Fore.RED, substring, Fore.RESET)
print(highlighted_substring.join(text_in_between))
Это напечатает всю большую строку, но с подстрокой, которую вы ищетев красном.Обратите внимание, что вам нужно pip install colorama
, чтобы оно заработало.Конечно, вы можете объединить два подхода.