直接在python中输入中文的字符串会报编译错误SyntaxError: Non-ASCII character,因为python文件默认编码方式是ASCII。如果想要打印中文字符,有两种方式:

1.在文件第一行加入# -*- coding: UTF-8 –*-,修改文件的默认编码方式。然后直接在python 文件编辑中文字符串即可,例如:string = “中文”

2. 将需要打印的中文字符转化成unicode编码并且加上u,例如要打印“我们”,则写成u“\u6211\u4eec”

print u'\u6211\u662f'

3. 如果遇到 类似UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0错误,因为在定义中文字符串变量时候,没有加上u,例如:string = “中文”而不是string = u“中文”,

这个时候python会把按照默认的中文字符串用ASCII进行编码,则可能会出现一些错误,要想吧类似string = “中文”的字符串用utf8编码,在文件前面加上如下代码即可:

import sys reload(sys) sys.setdefaultencoding('utf8')

4.字符串前面加了U之后会变成unicode类型,这时候是python独立的一种类型,如果直接写入字符类型的数据库字段或者当成字符串进行操作,可能会遇到意想不到的错误。

5. 如何吧一个 string = '\u5168\u56fd'变成 unicode类型?

用eval("u"+"'\u5168\u56fd'")方法即可

6. scrapy网络爬虫中文乱码问题解决

(1)判断抓取网页字符编码格式

import chardet
code_format = chardet.detect(response.body)["encoding"]

(2)根据获取的编码方式进行解码,然后采用系统默认方式编码

import sys
type = sys.getfilesystemencoding()
response.body.decode(code_format).encode(type)

【python】中文的输出,打印,文件编码问题解决方法的更多相关文章

  1. (Python )格式化输出、文件操作、json

    本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...

  2. python将命令输出写入文件或临时缓存

    python将命令输出写入文件 将文件写入到对应文件,方便后期处理或保存 def write_file(file_path): with open(file=file_path, mode=" ...

  3. 深入学习Python解析并解密PDF文件内容的方法

    前面学习了解析PDF文档,并写入文档的知识,那篇文章的名字为深入学习Python解析并读取PDF文件内容的方法. 链接如下:https://www.cnblogs.com/wj-1314/p/9429 ...

  4. 深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  5. Python 文件编码问题解决

    最近使用python操作文件,经常遇到编码错误的问题,例如: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbe in position ...

  6. MySQL导入含有中文字段(内容)CSV文件乱码解决方法

    特别的注意:一般的CSV文件并不是UTF-8编码,而是10008(MAC-Simplified Chinese GB 2312),所以再通过Navicat导入数据的时候需要指定的编码格式是10008( ...

  7. php -- php检测文件编码的方法示例

    <?php /** * 检测文件编码 * @param string $file 文件路径 * @return string|null 返回 编码名 或 null */ function det ...

  8. Python 2.7.3的文件编码问题,print在控制台下面中文乱码问题,以及推荐做法

    情况:文件乱码,在cmd上输出print也乱码.解决方案:统一为gbk的简体中文编码方式.步骤如下: 1.每个py文件使用[简体中文(GB2312)- 代码页 936]格式保存,行尾为[Windows ...

  9. Python的格式化输出,基本运算符,编码

    一. 格式化输出现在有以下需求,让用户输入name, age, job,hobby 然后输出如下所示: -----------info of Alex Li----------- Name : Ale ...

随机推荐

  1. github orgmode

    http://blog.nicky1605.com/application-github-page.html http://dayigu.github.io/WhyUseOrgModeToWriteB ...

  2. python模范发送邮件的时候,才smtp.connect的时候总是抛出错误

    python发送邮件的时候,总是出现:[Errno 10060] 错误码 根据debug得到在connect的时候出错. 认真检查了下host,没有错呀~应该就是服务器的host. 查看了下网上的一些 ...

  3. T-SQL 语法元素

    一.标识符 在T-SQL语言中,对SQLServer数据库及其数据对象(比如表.索引.视图.存储过程.触发器等)需要以名称来进行命名并加以区分,这些名称就称为标识符. 通常情况下,SQLServer数 ...

  4. Qt编程之QtScript

    需求是这样的: 需要给一个硬件接口测试些东西,用js来调用,js做成不同的独立模块分别测试不同的硬件接口,包括DMD内存,PCIE带宽等等.需要用一个exe来载入这些js文件分别调用测试模块.exe用 ...

  5. java_IO流之 NIO

    NIO 定义 即新IO,在JDK1.4的java.nio.*包中引入,其目的在于提高速度. 在Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统一次一个字节地处理数据,一个输入流产生 ...

  6. CF 39E What Has Dirichlet Got to Do with That? (博弈)

    转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意:给出a ^ b,两个人轮流操作,可以  a ...

  7. Comet学习资料

    什么是Comet: http://baike.baidu.com/view/577938.htm?fr=ala0_1 Comet介绍: http://www.ibm.com/developerwork ...

  8. 有关docker新版的icc、iptables的一个巨坑

    之前玩过docker的icc=false.iptables=true 按照这两个参数配置之后,想指定两个特定的容器通讯,直接用--link即可. 但最近我在下载了1.12新版的docker,这个不奏效 ...

  9. application,session,cookie三者之间的区别和联系

    application:    程序全局变量对象,对每个用户每个页面都有效 session:    用户全局变量,对于该用户的所有操作过程都有效    session主要是在服务器端用,一般对客户端不 ...

  10. 解决net-snmp正确输出MAC地址和判断空的IP地址

    function readVarbinds (buffer, varbinds) { buffer.readSequence (); while (1) { buffer.readSequence ( ...