SunnyEdward 2022-03-09 16:40 采纳率: 75%
浏览 45
已结题

关于msgpack解包和打包

问题遇到的现象和发生背景

我有多个msgpack文件,想把他们整合成一个msgpack,请问如何处理这个报错。

问题相关代码

import msgpack
with open('/home/suned/data/giscup_2021_1/totalmsgpack/total.msgpack','wb') as f1:
    for i in range(1,32):
        file_name = f"202008{i:02}.msgpack"
        with open(f'/home/suned/data/giscup_2021_1/msgpack/{file_name}','rb') as f2:
            unpacked = msgpack.unpackb(f2.read())
            f1.write(unpacked)
运行结果及报错内容
TypeError                                 Traceback (most recent call last)
/tmp/ipykernel_132397/78171065.py in <module>
      5         with open(f'/home/suned/data/giscup_2021_1/msgpack/{file_name}','rb') as f2:
      6             unpacked = msgpack.unpackb(f2.read())
----> 7             f1.write(unpacked)
      8 
      9 

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

  • 写回答

1条回答 默认 最新

  • 陈年椰子 2022-03-09 16:52
    关注

    先看看 print(type(unpacked)) 是啥?

    有些文档, 貌似msgpack 的写入用的是dump方法

    with open('data.txt', 'wb') as f1:
        msgpack.dump(var, f1) # 存储数据
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    问题事件

    • 系统已结题 3月17日
    • 已采纳回答 3月9日
    • 创建了问题 3月9日

    悬赏问题

    • ¥15 Java环境配了,但启用不成功。
    • ¥15 求一个智能家居控制的代码
    • ¥15 ad软件 pcb布线pcb规则约束编辑器where the object matpcb布线pcb规则约束编辑器where the object matchs怎么没有+15v只有no net
    • ¥15 虚拟机vmnet8 nat模式可以ping通主机,主机也能ping通虚拟机,但是vmnet8一直未识别怎么解决,其次诊断结果就是默认网关不可用
    • ¥20 求各位能用我能理解的话回答超级简单的一些问题
    • ¥15 yolov5双目识别输出坐标代码报错
    • ¥15 这个代码有什么语法错误
    • ¥15 给予STM32按键中断与串口通信
    • ¥15 使用QT实现can通信
    • ¥15 关于sp验证的一些东西,求告知如何解决,