作者scotie (scotie)
看板Python
标题[问题] Python 2.7 print中文回errno 2
时间Mon May 4 20:31:01 2020
最近再嚐试理解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
---------------------------------------------
D:\Scripts>python codec.py
文测试Traceback (most recent call last):
File "codec.py", line 18, in <module>
print str_ch
IOError: [Errno 2] No such file or directory
--t
Sent from my Android
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.140.25.184 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1588595463.A.6F2.html
1F:→ AndCycle: 没必要建议不要再研究2.7了, py2已经要死掉了05/04 22:18
2F:推 TuCH: po一下完整的traceback05/04 22:29
3F:→ OrzOGC: 都eol 研究身体健康的?05/04 22:30
4F:→ rs6000: 改用3好吗05/05 07:08
5F:→ janice001: 2020 了 还在 2.705/05 09:47
6F:→ pmove: 用u”中文”05/05 12:05
7F:→ kenduest: No such file or directory是找不到档案,与中文没关系05/05 13:12
8F:→ pmove: 改用:str_ch = u'中文测试'.decode('utf-8')05/05 15:33
9F:→ TakiDog: mbcs05/05 17:49
10F:→ scotie: 附上完整msg05/05 20:31
※ 编辑: scotie (42.72.225.7 台湾), 05/05/2020 20:32:48
※ 编辑: scotie (42.72.225.7 台湾), 05/05/2020 20:34:09
11F:→ scotie: 另外有在cmd下 set PYTHONIOENCODING=utf-8 05/05 20:35
12F:→ s860134: 你提供的原始码和错误讯息对不起来,六行哪来 "line 18" 05/05 21:29
13F:→ s860134: 亦或是你可以用你贴出的六行程式码重现错误吗? 05/05 21:29
14F:推 bibo9901: 就这程度还要用python2, 那你爱怎麽折腾就怎麽折腾 05/06 16:21
15F:→ bibo9901: 任何正经回答都是浪费时间 05/06 16:22
16F:推 rs6000: 推楼上。不要瞎折腾 05/06 17:32
17F:→ scotie: 主要是工作环境还是用2.7所以想研究一下背後的原理,顺便 05/06 20:37
18F:→ scotie: 增加对编码的理解。也不是说非得在2.7上实现这功能,只是G 05/06 20:37
19F:→ scotie: oogle了半天找不到解法蛮好奇root cause是什麽 05/06 20:37
20F:推 jasonhsu14: 我可以体会公司东西还用旧版的煎熬 05/07 10:18
21F:→ jasonhsu14: 我公司还再用Excel 2003 甚至还有XP系统.... 05/07 10:18
22F:→ AndCycle: 你先要能贴对原始环境的程式跟tb再来讨论 05/07 11:51
23F:→ kenduest: 这样程式码片段根本是来浪费大家时间 05/07 12:59
24F:推 Falldog: print string必需先转成system encoding 05/08 02:37
25F:→ Falldog: windows中文应该是cp950吧 sys.setdefault改掉也没用吧 05/08 02:39