请教mmap内存映射问题

关于mmap内存映射,就是每次读取的时候必须要设置长度,可是我另一边,每次写入的内存数据都不一样,请问怎么动态读取内存数据。
SHMEMSIZE 这个值如果写大就会崩溃,写小就会读取数据不完整,不知道如何动态读取数据

def d_1():

    SHMEMSIZE = 100#len(str) 读取字长度
    file_name = "boot"
    # python读取共享内存
    shmem = mmap.mmap(0, SHMEMSIZE, file_name, mmap.ACCESS_READ)
    #print(shmem.read(SHMEMSIZE).decode('ASCII'))
    #Pending =shmem.read(SHMEMSIZE).decode('ASCII')
    return shmem.read()
    shmem.close()

最的一句放在return后永远执行不到啊
这样可以否:
t = shmem.read()
shmem.close()
return t