[问题] Python 2.7 print中文回errno 2

楼主: scotie (scotie)   2020-05-04 20:31:01
最近再尝试理解Python 2.7的编码机制
使用下面程式码在win 7 cmd line下测试会报错 Errno 2 No such file or directory
不太能理解,我以为这是open file时找不到档名的错误讯息,烦请高手指点一下~
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
str_ch = '中文测试'.decode('utf-8')
print str_ch
作者: AndCycle (AndCycle)   2020-05-04 22:18:00
没必要建议不要再研究2.7了, py2已经要死掉了
作者: TuCH (谬客)   2020-05-04 22:29:00
po一下完整的traceback
作者: OrzOGC (洞八达人.拖哨天王)   2020-05-04 22:30:00
都eol 研究身体健康的?
作者: rs6000 (正义的胖虎)   2020-05-05 07:08:00
改用3好吗
作者: janice001 (真理)   2020-05-05 09:47:00
2020 了 还在 2.7
作者: pmove (金疾柠檬)   2020-05-05 12:05:00
用u”中文”
作者: kenduest (小州)   2020-05-05 13:12:00
No such file or directory是找不到档案,与中文没关系
作者: pmove (金疾柠檬)   2020-05-05 15:33:00
改用:str_ch = u'中文测试'.decode('utf-8')
作者: TakiDog (多奇狗)   2020-05-05 17:49:00
mbcs
楼主: scotie (scotie)   2020-05-05 20:31:00
附上完整msg另外有在cmd下 set PYTHONIOENCODING=utf-8
作者: s860134 (s860134)   2020-05-05 21:29:00
你提供的原始码和错误讯息对不起来,六行哪来 "line 18"亦或是你可以用你贴出的六行程式码重现错误吗?
作者: bibo9901 (function(){})()   2020-05-06 16:21:00
就这程度还要用python2, 那你爱怎么折腾就怎么折腾任何正经回答都是浪费时间
作者: rs6000 (正义的胖虎)   2020-05-06 17:32:00
推楼上。不要瞎折腾
楼主: scotie (scotie)   2020-05-06 20:37:00
主要是工作环境还是用2.7所以想研究一下背后的原理,顺便增加对编码的理解。也不是说非得在2.7上实现这功能,只是Google了半天找不到解法蛮好奇root cause是什么
作者: jasonhsu14 (小健人)   2020-05-07 10:18:00
我可以体会公司东西还用旧版的煎熬我公司还再用Excel 2003 甚至还有XP系统....
作者: AndCycle (AndCycle)   2020-05-07 11:51:00
你先要能贴对原始环境的程式跟tb再来讨论
作者: kenduest (小州)   2020-05-07 12:59:00
这样程式码片段根本是来浪费大家时间
作者: Falldog (Yo)   2020-05-08 02:37:00
print string必需先转成system encodingwindows中文应该是cp950吧 sys.setdefault改掉也没用吧

Links booklink

Contact Us: admin [ a t ] ucptt.com