在 xshell 中运行 Python 代码 print 出错求助

2017-09-22 10:10:36 +08:00
 gogobody

如题,windows 中用 xshell 连上服务器,运行 python 代码,但是只要一遇到 print 语句就会出现 UnicodeDecodeerror,测试了下 print(''a'')也会出现这种问题...求助

5563 次点击
所在节点    Python
9 条回复
gstqc
2017-09-22 10:17:23 +08:00
哪种 Python ?
gogobody
2017-09-22 11:03:43 +08:00
@gstqc python3.6 在虚拟环境里面
NoAnyLove
2017-09-22 11:05:42 +08:00
用其他软件不会出这种问题?试过 PuTTY 和 Cygwin+OpenSSH 了吗?
HayesTsai
2017-09-22 12:22:42 +08:00
顶部声明下 utf8 编码
gogobody
2017-09-22 16:40:47 +08:00
@HayesTsai 声明了,不行
gogobody
2017-09-22 16:41:16 +08:00
@NoAnyLove 还没有试过,等下试试看
hjq98765
2017-09-22 17:55:39 +08:00
import sys
sys.stdout.write('a')
看看这个行不行?
fearme
2017-09-23 12:58:56 +08:00
运行 py 文件之前先

export PYTHONIOENCODING=UTF-8

即可
vvvvveeeee
2017-09-24 10:42:28 +08:00
出错原因很明显,要打开的文本文件中夹杂了一些非法编码的字符,解决办法:f = open('/root/.....'(路径根据实际情况写),'r',encoding = 'gbk'(根据实际情况写),errors = 'ignore'(重点,解决问题的核心))
enjoy yourself

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/392745

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX