Python默认采用Unicode字符编码,python汉字的unicode编码值

  Python默认采用Unicode字符编码,python汉字的unicode编码值

  我刚刚给崇高添加了Python3解释器,下面的代码停止工作了:

  对于目录列表中的目录:

  fileList=os.listdir(目录)

  对于文件列表中的文件名:

  filename=os.path.join(目录,文件名)

  currentFile=open(文件名,“rt”)

  对于当前文件中的行:# #出现异常。

  currentLine=line.split( )

  对于当前行中的单词:

  如果word.lower()不在bigBagOfWords中:

  bigbagofwords。追加(单词。下限())

  currentFile.close()

  我得到以下异常:

  文件/用户/库巴/桌面/字典创建者。py ,第11行,在

  对于当前文件中的行:

  文件"/库/框架/python。框架/版本/3.4/lib/python 3.4/encodings/ascii。py”,第26行,在译中

  返回编解码器。ascii _ decode(input,self.errors)[0]

  我觉得这很奇怪,因为据我所知,Python3应该在任何地方都支持utf-8 .此外,相同的代码在Python2.7上工作没有任何问题。我读过关于添加环境变量PYTHONIOENCODING编码的文章,但我试过了——没有用(然而,在OS X小牛队中添加环境变量似乎不是那么容易,所以可能是我在添加变量时做错了什么?我修改了/etc/launchd。会议)

  Python 3在读取时解码文本文件。默认编码来自区域设置。getpreferredencoding(False),对于您的设置,它显然返回“ASCII码”.请参见打开()函数文档:

  在文本模式下,如果未指定编码,则使用的编码取决于平台:调用区域设置。getpreferredencoding(False)以获取当前的区域编码。

  您应该使用显式编解码器打开文本文件,而不是依赖系统设置:

  currentFile=open(文件名, rt ,编码=latin1 )

  在这里设置编码参数以匹配您正在读取的文件。

  Python 3支持UTF-8作为源代码的默认值。

  您可能想在Unicode操作指南中阅读Python 3和Unicode,其中解释了源代码编码和读写统一码数据。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: