看板 Python 關於我們 聯絡資訊
最近再嚐試理解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://www.ptt.cc/bbs/Python/M.1588595463.A.6F2.html
AndCycle: 沒必要建議不要再研究2.7了, py2已經要死掉了05/04 22:18
TuCH: po一下完整的traceback05/04 22:29
OrzOGC: 都eol 研究身體健康的?05/04 22:30
rs6000: 改用3好嗎05/05 07:08
janice001: 2020 了 還在 2.705/05 09:47
pmove: 用u”中文”05/05 12:05
kenduest: No such file or directory是找不到檔案,與中文沒關係05/05 13:12
pmove: 改用:str_ch = u'中文測試'.decode('utf-8')05/05 15:33
TakiDog: mbcs05/05 17:49
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
scotie: 另外有在cmd下 set PYTHONIOENCODING=utf-8 05/05 20:35
s860134: 你提供的原始碼和錯誤訊息對不起來,六行哪來 "line 18" 05/05 21:29
s860134: 亦或是你可以用你貼出的六行程式碼重現錯誤嗎? 05/05 21:29
bibo9901: 就這程度還要用python2, 那你愛怎麼折騰就怎麼折騰 05/06 16:21
bibo9901: 任何正經回答都是浪費時間 05/06 16:22
rs6000: 推樓上。不要瞎折騰 05/06 17:32
scotie: 主要是工作環境還是用2.7所以想研究一下背後的原理,順便 05/06 20:37
scotie: 增加對編碼的理解。也不是說非得在2.7上實現這功能,只是G 05/06 20:37
scotie: oogle了半天找不到解法蠻好奇root cause是什麼 05/06 20:37
jasonhsu14: 我可以體會公司東西還用舊版的煎熬 05/07 10:18
jasonhsu14: 我公司還再用Excel 2003 甚至還有XP系統.... 05/07 10:18
AndCycle: 你先要能貼對原始環境的程式跟tb再來討論 05/07 11:51
kenduest: 這樣程式碼片段根本是來浪費大家時間 05/07 12:59
Falldog: print string必需先轉成system encoding 05/08 02:37
Falldog: windows中文應該是cp950吧 sys.setdefault改掉也沒用吧 05/08 02:39