Я согласен с предыдущим ответом (за исключением части «сообщение об ошибке сообщает точно, что не так»), но я хотел бы завершить ее.Если дело в том, что у вас есть строка, которую вы хотите записать в канал (а не объект байтов), у вас есть два варианта:
1) Прежде чем записать их в канал, сначала закодируйте каждую строку:
working_file.stdin.write('message'.encode('utf-8'))
2) Обернуть канал в буферизованный текстовый интерфейс, который будет выполнять кодировку:
stdin_wrapper = io.TextIOWrapper(working_file.stdin, 'utf-8')
stdin_wrapper.write('message')
(обратите внимание, что теперь ввод / вывод буферизуется, поэтому вам может понадобитьсявызовите stdin_wrapper.flush ().)