vexamd
write() argument must be str, not
Конкретно по этой ошибке если не знаете английского то используйте google translate.
Либо надо результат преобразовать в строку.
Плохая идея везде использовать одну и туже переменную lines
Что вы имели ввиду когда писали:
Что по вашему мнению возвращает l???
Сейчас у вас в каждой строчке по несколько ошибок.
Я бы рекомендовал запустить интерпретатор питон (в IDE тоже есть консолька). И решайте задачу построчно. - выполнили readlines, посмотрели что получилось, выролнили l. над каждой строчкой надо сидеть пока не получится то что нужно.
А у вас напечатано сообщение об ошибке когда там уже давным давно все вверх тормашками.