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

关于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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵