gpt4 book ai didi

python - 尽管语法正确,但 Memoryview 中的切片分配会引发 ValueError

转载 作者:行者123 更新时间:2023-12-03 19:35:12 26 4
gpt4 key购买 nike

所以我有这个代码

buffer_size = 190000000
start_offset = 0
b = bytearray(buffer_size)
mv = memoryview(b)
end_offset = len(record)
mv[start_offset: end_offset] = record.encode(constants.file_encoding)

每当遇到最后一条语句时,它都会抛出如下错误:
ValueError: Memoryview assignment: Lvalue has a different structure than RValue

最佳答案

record是一个字符串,len(record)是字符串中的代码点数;你还没有把它编码成字节。 bytes的长度对象就是你所需要的。此外,分配 end_offset = len(…)只有在 start_offset == 0 时才有意义,并且无需创建 memoryview分配给 bytearray 的切片.

buffer_size = 190000000
b = bytearray(buffer_size)
record_bytes = record.encode(constants.file_encoding)
end_offset = len(record_bytes)
b[:end_offset] = record_bytes

关于python - 尽管语法正确,但 Memoryview 中的切片分配会引发 ValueError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50245145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com