pprint:UnicodeEncodeError:“ascii”编解码器无法对ch进行编码

2024-09-29 21:58:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我快疯了。我试图用一个é字符pprint一个dict,结果把我扔了出去。在

我使用的是Python 3:

    from pprint import pprint
    knights = {'gallahad': 'the pure', 'robin': 'the bravé'}
    pprint (knights)

错误:

^{pr2}$

我阅读了Python ASCII文档,但似乎没有一种快速的方法来解决这个问题,除了将dict分解,通过.encode将有问题的值重写为ASCII值,然后再次重新组装dict

我有没有办法不把听写拆开就把它打印出来?在


Tags: thefromimportpure错误ascii字符dict
1条回答
网友
1楼 · 发布于 2024-09-29 21:58:15

这与pprint无关:模块只将字符串格式化为另一个字符串,然后将格式化后的字符串传递给底层流。因此,当é字符(U+00E9)被写入stdout时,就会发生错误。在

现在它实际上取决于底层操作系统和Python解释器的配置。在Linux或其他类似Unix的系统中,可以在启动Python之前设置环境变量PYTHONIOENCODING,在终端会话中声明UTF-8或Latin1字符集:

$ export PYTHONIOENCODING=Latin1
$ python

(或根据终端或终端窗口的实际编码使用PYTHONIOENCODING=utf8)。在

相关问题 更多 >

    热门问题