Я пытаюсь записать двоичные данные, полученные клиентом websocket, в выходной файл.Однако я продолжаю получать это сообщение:
Аргумент write () должен быть str, а не байтами.
Байтоподобный объект необходим, а не 'str'
Мне кажется, я понял суть проблемы.Ранее я использовал
with open(file_path, "a") as output_file:
output_file.write(ws.recv())
Это было бы неверно, поскольку он не заботился о записи двоичных данных.
На данный момент я использую это, и, кажется, работает нормально:
with open(file_path, "ab") as output_file:
output_file.write(ws.recv())
Q1.Хотя это, кажется, работает нормально, я не уверен, что это правильный способ сделать это.Поэтому я был бы признателен, если бы кто-то мог проверить, правильно ли это, или указать правильный путь.
Q2.Кроме того, поскольку соединения веб-сокетов обычно используются для потоковой передачи, существует ли способ обнаружить, что все данные прочитаны, и закрыть соединение?