python 在windows 中文显示

Posted 逆水行舟,不进则退

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 在windows 中文显示相关的知识,希望对你有一定的参考价值。

今天看到mechanize,在网上找例子实验,发现只要代码里出现中文,就会报错

SyntaxError: Non-ASCII character \'\\xe4\' in file testMech.py on line 2,
but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

python的默认编码文件是用的ASCII码

使用notepad++

(1)文件编码为:以UTF-8无BOM格式编码

如果python文件中使用了中文等非英语字符,就会报错了

解决的方法

在Python源文件的第一行加上

# coding=UTF-8

或者

# -*- coding:UTF-8 -*-

输出

# -*- coding:UTF-8 -*-
string=\'你好\'  
print string

改为

# -*- coding:UTF-8 -*-
string=\'你好\'  
print string.decode(\'UTF-8\') 

中文字符串是保存在元组、列表或者字典里,可以调用json模块的dumps方法

# -*- coding:UTF-8 -*-
import json  
print u\'你好\' 
string=\'你好\'  
print string.decode(\'UTF-8\') 
t_tuple=(\'\',\'你好\')  
t_list=[\'\',\'你好\']  
t_dict={1:\'\',2:\'你好\'}  
print json.dumps(t_tuple,encoding=\'UTF-8\',ensure_ascii=False)  
print json.dumps(t_list,encoding=\'UTF-8\',ensure_ascii=False)  
print json.dumps(t_dict,encoding=\'UTF-8\',ensure_ascii=False) 

(2)文件编码为:以ANSI格式编码

#coding:gbk
string=\'你好\'  
print string

中文输出正常

#coding:gbk
import json
string=\'你好\'  
print string
t_tuple=(\'\',\'你好\')  
t_list=[\'\',\'你好\']  
t_dict={1:\'\',2:\'你好\'}  
print json.dumps(t_tuple,encoding=\'gbk\',ensure_ascii=False)  
print json.dumps(t_list,encoding=\'gbk\',ensure_ascii=False)  
print json.dumps(t_dict,encoding=\'gbk\',ensure_ascii=False) 

#coding:gb2312或者#coding:gbk都可以的

 

以上是关于python 在windows 中文显示的主要内容,如果未能解决你的问题,请参考以下文章

iOS常用于显示几小时前/几天前/几月前/几年前的代码片段

python 在windows 中文显示

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

回收站视图未显示在片段中

如何在 Resharper IntelliSense 中显示所有 Visual Studio 代码片段?

如何在 python 中并行化以下代码片段?