博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python2在Sublime Text3中print中文时报错原因及解决办法
阅读量:5015 次
发布时间:2019-06-12

本文共 1047 字,大约阅读时间需要 3 分钟。

1,出现的问题及分析

  在Sublime Text3中用ctrl+B运行python程序时,如果要打印输出英文时正常运行,而输出中文时则会报错,具体情况如下:

Traceback (most recent call last):  File "D:\PythonWorkplace\test_print_unicode.py", line 3, in 
print u'程序'UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

  分析:参考 https://www.v2ex.com/t/163786

2,解决办法

(1)修改Sublime Text3中的设置

  打开Preference-->Browse Packages...,查看是否存在python文件夹,若没有,可从Sublime Text2中相似路径(.../Sublime Text2/Packages)中拷贝Python文件夹,再从Python文件夹下修改Python.sublime-build文件,修改内容如下:

  原文件:

{    "cmd": ["python", "-u", "$file"],    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",    "selector": "source.python"    }

  修改后:

{    "cmd": ["python", "-u", "$file"],    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",    "selector": "source.python",    "env": {
"PYTHONIOENCODING": "utf8"} }

  之后即可正常运行python程序而不报错。

(2) 修改文件头部

  在文件头部添加如下代码:

import sysreload(sys)sys.setdefaultencoding('utf-8')

该方法在输出中文时需要在每个文件头部都添加,较为麻烦,不太推荐

转载于:https://www.cnblogs.com/congtou5/p/5155001.html

你可能感兴趣的文章
regsvr32注册COM组件失败
查看>>
jmeter,CSV数据加载、数据库连接、正则
查看>>
(独孤九剑)--正则表达式
查看>>
MySQL学习点滴 --分区表
查看>>
4.6.1 测试基础
查看>>
洛谷 P2486 [SDOI2011]染色
查看>>
oo第三单元总结
查看>>
leetcode : Count and Say [基本功]
查看>>
洛谷 P2485 [SDOI2011]计算器 解题报告
查看>>
c#访问存储过程
查看>>
Slickflow.NET 开源工作流引擎基础介绍(三) -- 基于HTML5/Bootstrap的Web流程设计器
查看>>
Node教程
查看>>
java将字段映射成另一个字段,关于 接口传参 字段不对应转换
查看>>
Redis
查看>>
字段和属性的区别
查看>>
HTTP(一)工作机制
查看>>
条形码扫描枪数据读取的问题
查看>>
$this->autoRender = false
查看>>
健壮的 Java 基准测试
查看>>
phpstorm查看类的继承关系
查看>>