如何解决:AttributeError:“ bytes”对象没有属性“ insert”

时间:2019-02-03 10:08:47

标签: python-3.x sockets

我正在编写一个python文件服务器,并且希望能够接收缓冲区中的所有数据。因此,我制作了一个send函数来发送数据及其文件大小,但是当我发送数据时会出现属性错误。

我尝试绕过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)

我遇到了属性错误,但是在修复该错误后,我认为它应该可以工作并接收缓冲区中的所有数据,并以发送数据的字节大小正确发送。

0 个答案:

没有答案