美文网首页
Python编码问题

Python编码问题

作者: AndWang | 来源:发表于2016-04-13 10:02 被阅读0次

    py文件默认ascii编码,当字符集为uft-8是,在文件头部加入以下代码防止乱码:

    # -*- coding: utf-8 -*-

    每次抓取网页数据后,都会出现

    'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)

    的错误,查出是python编码的问题。

    两种解决思路:

    1.代码中添加

    import sys

    reload(sys)

    sys.setdefaultencoding('utf8')

    2.全局文件修改

    在Python安装目录下的Lib/site-packages目录中,新建一个sitecustomize.py文件(也可以建在其它地方,然后手工导入,建在这里,每次启动Python的时候设置将自动生效),内容如下:

    importsys

    sys.setdefaultencoding('utf-8')#set default encoding to utf-8

    然后可以查看到改变已经生效

    >>>importsys

    >>> sys.getdefaultencoding()

    'utf-8'

    此时运行程序,如果仍然报告之前的错误,只需要显示地设定输出的编码

    prints.encode('utf-8')

    就可以看到正确显示。

    相关文章

      网友评论

          本文标题:Python编码问题

          本文链接:https://www.haomeiwen.com/subject/cavwlttx.html