Запись двоичных данных из веб-сокета в файл с использованием Python 3 - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь записать двоичные данные, полученные клиентом 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.Кроме того, поскольку соединения веб-сокетов обычно используются для потоковой передачи, существует ли способ обнаружить, что все данные прочитаны, и закрыть соединение?

...