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都可以的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2015-12-22 情人节玫瑰花