Ошибка expected string , помогите пожалуйста

import re

input_filename = "../progr.txt"
result_filename = "../result.txt"

input_file = open(input_filename, mode = 'r', encoding='Latin-1')
resultfile = open(result_filename, mode = 'w', encoding='Latin-1')
mytext = input_file.read()

lookfor = r"[\w,-]+@[A-Za-z-]+\.[\w.]+"

mytext = input_file.read
results = re.findall(lookfor, mytext)

for item in results:
    print(item)

Ответы (1 шт):

Автор решения: drompix

Вы пытаетесь считать данные из одного и того же файла дважды. Так не работает, в первый раз считали все данные – последующие считывания будут выдавать пустой результат.

Как я понял, вы пытаетесь получить email'ы из файла с помощью регулярки. Если убрать из кода дублирующую строчку

mytext = input_file.read  # <--- убрать вот эту строку
results = re.findall(lookfor, mytext)

то все должно запуститься

По крайней мере с примером

[email protected]
[email protected]
asdlkasdasd

отрабатывает без проблем.

→ Ссылка