在NLP的相关任务中,应用python处理中文是很常见的。在这个过程中,由于编码方式的不一致,可能会出现以下两种错误:

  1)SyntaxError:  Non-ASCII character in file ‘文件名’

  2)UnicodeDecodeError: 'ascii' codec can't decode

  解决方法是:更改Python的编码方式为utf8模式,分为单文档内的临时更改,以及全局更改两种方式

  1.单文档内临时更改:在文档的开始处第一行(前面无任何内容),加入一行代码:      # coding: utf8

    或者在文档内添加以下代码,不要求在第一行,但也一般在文档开始的部分,添加代码:      import sys      reload(sys)      sys.setdefaultencoding('utf8')

  2.全局更改在/usr/lib/python2.7目录下的sitecustomize.py文件内加入上述代码          # coding: utf8      import sys      reload(sys)      sys.setdefaultencoding('utf8')最后,中文标点的处理需要格外注意(可以按下面形式处理):        endSign="!。" endSign=endSign.decode('utf-8')这两行代码,第一行是列举的中文标点,第二行是编码为utf8,第二行不能遗漏,否则可能出现上面第二个UnicodeDecodeError:错误

Ubuntu下Python无法识别中文的更多相关文章

  1. ubuntu下python 2.7与python 3.X的转换

    ubuntu下python 2.7与python 3.X的转换 由于ubuntu本身自带python 2.7,而python 3.X与2.7有很多不同,所以在使用python 3.X时会带来诸多不便. ...

  2. ubuntu下python flask环境搭建

    ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...

  3. 搜狗输入法在Ubuntu下突然不能输入中文

    使用搜狗输入法在Ubuntu下突然不能输入中文,这种情况出现多次,先找到一个快捷的解决方案: 首先要知道遇到这种情况的很大可能原因是bin目录里文件过多,系统加载不完全,你就算上面的脚本执行3次都不行 ...

  4. ubuntu 下python安装及hello world

    //@desn:ubuntu 下python安装及hello world //@desn:码字不宜,转载请注明出处 //@author:张慧源  <turing_zhy@163.com> ...

  5. 解决Ubuntu下Chrome浏览器网页中文字体混乱

    在Ubuntu下使用Chrome浏览器时碰到了网页中文字体混乱的现象: 黑体和楷体混杂,看起来非常不美观. 这是由于许多网页并没有指定字体,然后浏览器将调用系统默认字体配置. 首先,安装文泉驿字体: ...

  6. ubuntu 下python环境的切换使用

    如何在Anaconda的python和系统自带的python之间切换 一般ubuntu下有三种python环境,1. 系统自带python2,3;在/usr/bin路径下:2. anaconda下安装 ...

  7. ubuntu下Python的安装和使用

    版权声明 更新:2017-04-13-上午博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Python的开发环境. ...

  8. ubuntu 下解决sublime v3 中文输入法时 退格键删除不了拼音的问题

    ubuntu下,sulime想要支持中文需要这样设置: 1.安装中文输入解决的github git clone https://github.com/lyfeyaj/sublime-text-imfi ...

  9. Ubuntu 下Python 环境问题

    问题描述: 原先使用Anaconda环境,若卸载后仍不能恢复到系统默认的Python环境. 解决方案: shell 寻找缓存路径,python的扩展/home/tom/anaconda/bin/pyt ...

随机推荐

  1. Docker | 第四章:Dockerfile简单介绍及使用

    前言 前一章节,介绍了Docker常用的命令.在基本使用上,熟悉这些常用的命令基本上就够了.但在一些场景下,比如在部署SpringBoot应用时,通常我们都是打成Jar包,然后利用java命令进行运行 ...

  2. codesmith 在安装32位Oracle 客户端问题解决

    问题解决办法如下: https://blog.csdn.net/csdn1152789046/article/details/52248669

  3. 《给业余投资者的10条军规 (雪球「岛」系列) (闲来一坐s话投资》读书笔记

    大多数进入股市的人,往往有着非一般的自信.比如,读了几本大师的书,就感觉自己掌握了什么秘笈,又恰逢账面浮盈,自信心更是前所未有的膨胀. 有人说,投资者不经过一轮牛熊转换是成熟不起来的. 古人早就有言, ...

  4. JavaScript常用数组操作方法

    数组是用于储存多个相同类型数据的集合,平时在数据的处理中用到最多,JavaScript 中常用的操作方法 1.concat()concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅 ...

  5. SQL Server date 设置默认值

    根据时间做数据统计计算最讨厌开始和结束时间字段是NULL,为了处理NULL要写很多语句. 那么在数据库设计的时候给一个默认值:0001-01-01和9999-12-31,会给开发人员带来很大的便利. ...

  6. iOS - 协议实现的例子

    在实际开发中,协议的应用非常广泛,以下是实际应用的例子. 1.协议的定义: myProtocolDelegate.h // // myProtocolDelegate.h // zlwPlayerAp ...

  7. 华为服务器操作系统EulerOS V2.0

    平台: linux 类型: 虚拟机镜像 软件包: java-1.8.0 php-5.4.16 python-2.7.5 qt-4.8.5 tomcat-7.0.69 basic software eu ...

  8. N 叉树的层序遍历

    给定一个 N 叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 例如,给定一个 3叉树 : 返回其层序遍历: [ [1], [3,2,4], [5,6] ] 说明: 树的深度不会超过 100 ...

  9. linux 命令——ls

    一.  ls命令 ls 命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文 件及文件夹清单. 通过ls 命 ...

  10. IOS UIActivityIndicatorView动画

    ● 是一个旋转进度轮,可以用来告知用户有一个操作正在进行中,一般 用initWithActivityIndicatorStyle初始化 ● 方法解析: ● - (void)startAnimating ...