【发布时间】:2016-09-06 03:10:04
【问题描述】:
我有一个字典,是通过读取 Windows 注册表创建的,其中字典的键是注册表键,对应的值是字典中相同键的值。
现在,我正在尝试使用json.dump() 转储到文件中。但是,这在两个不同的系统上给了我两个不同的错误。我不知道字典的内容,但它有 unicode 值。我正在以“ab”模式打开文件以将数据转储到相同的位置。
with open(file_path, 'ab') as fp:
json.dump(reg_dict, fp)
观察到以下错误:-
UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 3: invalid start byte
还有
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf1 in position 21: invalid continuation byte
附加两个错误的图像。我不确定如何解决这个问题,也不确定为什么会这样。任何帮助将不胜感激。
【问题讨论】:
-
请用实际(复制粘贴的)回溯替换您的图像,以便于阅读。
-
reg_dict是如何创建的?您正在阅读另一个文件吗? -
您的
reg_dict中有Unicode——因此您需要使用codecs.open()打开"utf_8"编码文件进行写入。 -
@Evert,添加了字典的创建方式。而且,这是我唯一的痕迹。你还在寻找什么?我想放大图像,你可以看到痕迹。谢谢
-
@martineau,你的意思是,首先我必须在将其写入文件之前使用
codecs.open()?我的意思是,我仍然很困惑,如何使用这个?
标签: python json python-2.7 dictionary