gpt4 book ai didi

Python 3.6 - 将包含类型 'bytes' 的字典保存到文件

转载 作者:行者123 更新时间:2023-12-01 01:42:59 26 4
gpt4 key购买 nike

我正在开发一个项目,在该项目中,我识别二进制文件中固定大小块的所有唯一出现,然后将结果保存到二进制文件(它需要跨多种语言工作)。

我的方法如下:我读取文件的每个 block 、哈希值,并将唯一的哈希值和二进制代码存储到字典中。每次程序看到重复的散列时,它都会附加该位置以供以后重建。生成的字典的示例如下所示:

dict = {'d59fce39b5d8d4b278acbf2f5be0353c': [b'\xc5\xd7\x14\x84', 0, 1, 4],
'bf937a85a0f950f431a4c9c1aeca8686': [b'\x08\xe7\x07\x8f', 2, 3, 5]}

然后,我使用 with open('out.data, 'wb') as f:将文件保存到磁盘( f.write(dict) ),但出现以下错误:

TypeError: a bytes-like object is required, not 'dict'

我在这里找到的其他解决方案对我没有帮助。我尝试按照建议将字典传递给 JSON 对象 here ,但得到:

new_dict = json.dumps(dict)

TypeError: Object of type 'bytes' is not JSON serializable

我正在处理任意字节,因此,编码似乎不是这个问题的解决方案。

最佳答案

你试过吗

import pickle

with open('out.pickle', 'wb') as f:
pickle.dump(dict, f, protocol=pickle.HIGHEST_PROTOCOL)

with open('out.pickle', 'rb') as f:
b_dict = pickle.load(f)

# This is to check that you saved the same dict in memory
print dict == b_dict

关于Python 3.6 - 将包含类型 'bytes' 的字典保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51688936/

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