【问题标题】:UnicodeDecodeError when trying to use pickle.load()尝试使用 pickle.load() 时出现 UnicodeDecodeError
【发布时间】:2018-12-26 02:30:54
【问题描述】:

首先,我将这些信息转储到一个名为“save0.pickle”的文件中。

with open('save0.pickle', 'wb') as outfile:
    pickle.dump({
        'world_w': world.w,
        'world_h': world.h,
        'world_world': world.world,
        'player_icon': player.icon,
        'player_x': player.x,
        'player_y': player.y,
        'player_item': player.item,
    }, outfile)

这很好,但是当我尝试将文件的信息加载到变量中时出现错误,如下所示。

with open('save0.pickle', 'r') as infile:
    d = pickle.load(infile)

错误:UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 21: character maps to <undefined>

任何帮助将不胜感激。

【问题讨论】:

  • 尝试以二进制/字节模式打开文件。 ..open("save0.pickle", "rb") ..
  • 成功了!谢谢:D

标签: python python-3.x windows pickle


【解决方案1】:

正如Keith 所说,将open("save0.pickle", "r") 更改为open("save0.pickle", "rb") 解决了问题。

【讨论】:

    猜你喜欢
    • 2018-09-09
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多