关于python输出中文字符串报错的问题,求解答
天蓬老师
天蓬老师 2017-04-18 10:31:44
0
4
708

我使用的是win10 64位,python2.7版本。
在看《机器学习实战》这本书的时候,出现了下面的问题。
代码如下:

# -*- coding: utf-8 -*-
"""
Created on Thu Apr 06 09:01:25 2017

@author: ning0
"""

import matplotlib.pyplot as plt

decisionNode = dict(boxstyle = "sawtooth",fc = "0.8")
leafNode = dict(boxstyle = "round4",fc = "0.8")
arrow_args = dict(arrowstyle = "<-")

def plotNode(nodeTxt,centerPt,parentPt,nodeType):
    createPlot.ax1.annotate(nodeTxt,xy = parentPt, \
                            xycoords = "axes fraction",xytext = centerPt,\
                            textcoords = 'axes fraction',va = 'center',\
                            bbox = nodeType,arrowprops = arrow_args)
    
def createPlot():
    fig = plt.figure(1,facecolor='white')
    fig.clf()
    createPlot.ax1 = plt.subplot(111,frameon = False)
    plotNode('叶节点',(0.5,0.1),(0.1,0.5),decisionNode)
    plotNode('决策节点',(0.8,0.1),(0.3,0.8),leafNode)
    plt.show()

报错信息如下:

createPlot
------> createPlot()


Traceback (most recent call last):

  File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\interactiveshell.py", line 2898, in run_code
    self.showtraceback()

  File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\interactiveshell.py", line 1824, in showtraceback
    value, tb, tb_offset=tb_offset)

  File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\ultratb.py", line 1406, in structured_traceback
    self, etype, value, tb, tb_offset, number_of_lines_of_context)

  File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\ultratb.py", line 1323, in structured_traceback
    self, etype, value, elist, tb_offset, number_of_lines_of_context

  File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\ultratb.py", line 644, in structured_traceback
    out_list.extend(self._format_list(elist))

  File "C:\Users\ning0\Anaconda3\envs\py27\lib\site-packages\IPython\core\ultratb.py", line 682, in _format_list
    item += '    %s\n' % line.strip()

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 10: ordinal not in range(128)

希望有人能够帮我解答一下这个问题。谢谢

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(4)
小葫芦

plotNode(u'leaf node',(0.5,0.1),(0.1,0.5),decionNode)、u を追加してみてください

いいねを押す +0
大家讲道理

私は以前にもこの問題に遭遇しましたが、オンラインのどの方法でも解決できませんでした:
出典: https://my.oschina.net/u/1180...


問題を解決できるかどうかわかりませんか?

いいねを押す +0
伊谢尔伦

あなたのアイテムはバイトコードではなく、Unicodeです。

いいねを押す +0
伊谢尔伦

Python3 を使えば世界はもっときれいになります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート