Все работает так, как ожидалось, если я сначала прочитал файл в строковую переменную, но не в том случае, если я читаю файл как строку.
Это работает (сначала чтение содержимого файла в переменную str перед вызовом findall()) :
Код: Выделить всё
text = file.read()
matched_list = []
matched_list = re.findall(r"^([A-Z]+$)\b", text, re.M)
Это не работает (чтение содержимого файла в качестве параметра для findall()):
Код: Выделить всё
matched_list = []
matched_list = re.findall(r"^([A-Z]+$)\b", file.read(), re.M)
Я ожидаю, что оба эти метода дадут одинаковый результат.Похоже, это особенность обработки вызовов функций в Python. Мне бы хотелось его понять, поскольку он кажется странным по сравнению с языками, с которыми я более знаком.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ion-return