"释放的字节数组对象已导出缓冲区"到底是什么意思



我正在尝试使用 AES256 运行加密算法,但出现此错误: "已释放的字节数组对象已导出缓冲区">

我似乎找不到任何关于错误本身实际含义的适当解释,因此无法调试。谁能解释一下?

对于上下文,这似乎特别适用于超过 1GB 的大文件

for root, dirs, files in os.walk(dirPath):
for name in files:
filePath = os.path.join(root, name)
with open(filePath, 'rb') as _file:
textStr = _file.read()
encrypted = fernet.encrypt(textStr)
with open(filePath, 'wb') as _file:
_file.write(encrypted)

上面的代码是我试图加密目录中的所有文件

它指的是缓冲区协议,一种在Python中制作原始内存视图的方法。它不经常在Python层使用,而是通常在CPython C模块中看到,包括内置和第三方C扩展模块。从 Python 本身使用它的最简单方法是使用memoryview类型。

我的猜测是,代码中的某些内容(您的或您正在使用的模块(将bytearray对象的视图作为缓冲区,然后在释放缓冲区之前将bytearray引用减少为零。

最新更新