Как исправить: AttributeError: у объекта 'bytes' нет атрибута 'insert' - PullRequest
0 голосов
/ 03 февраля 2019

Я пишу файловый сервер Python и хочу иметь возможность восстановить все данные в буфере.Поэтому я сделал функцию отправки, которая отправляет данные вместе с размером файла, но когда я отправляю данные, возникает ошибка атрибута.

Я попытался зациклить функцию recv, но не смог заставить ее работать так,Я решил отправить размер отправляемых данных и позволить серверу / клиенту увидеть, сколько данных они получили, и если они меньше, чем объем, который им сообщают, они должны продолжать получать данные.

def getsizeof(data, tl=0):
    for i in data:
    data = sys.getsizeof(i)
    tl += data
return tl

def send(conn, request):
    length = getsizeof(request)
    length_size = sys.getsizeof(length)
    byte_size = length_size + length
    ###########################################################
    request.insert(0, byte_size) # THIS IS WHERE I GET 'AttributeError: 'bytes' has no attribute 'insert'
    ###########################################################
    conn.sendall(pickle.dumps(request)) # Encoding & sending data
    print(total_length)

Я получаю ошибку атрибута, но когда она исправлена, я думаю, что она должна работать, восстановить все данные в буфере и правильно отправить с размером отправленных данных в байтах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...