注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

让一切都逝去吧

排骨炖泥菜/猪肝炒苹果/鱼籽狗肉汤/狗头薏米汤

 
 
 

日志

 
 

python setuptools安装和中文处理  

2013-06-08 12:49:37|  分类: python |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
      起因是要用python处理中文字符,资料说的是要安装chardet,结果提示安装出错,没有setuptools工具。说在windows下setuptools工具默认没有安装。于是按照官方说法,到https://pypi.python.org/pypi/setuptools下载对应的setuptools-0.6c11.win32-py2.7.exe ,结果提示注册表中没有python2.7,安装失败。后来在http://peak.telecommunity.com/dist/ez_setup.py找到一个安装脚本,运行后,安装成功。
      安装模块使用easy_install命令,在Windows里,easy_install在python安装目录下的scripts里,将scripts加到环境变量PATH中,使用方式
easy_install 模块名
      经测试,默认的python setup.py install的方式也可以安装成功。

      然后是安装chardet,已经使用说明
chardet.detect(),其中confidence是检测精确度,encoding是编码类型

(1)网页编码判断:

>>> import urllib
>>> rawdata = urllib.urlopen('http://www.google.cn/').read()
>>> import chardet
>>> chardet.detect(rawdata)
{'confidence': 0.98, 'encoding': 'GB2312'}

(2)文件编码判断

import chardet
tt=open('c:\\111.txt','rb')
ff=tt.readline()
enc=chardet.detect(ff)
print enc['encoding']
tt.close()

      komodo ide编辑python文件,编译时没有错,运行出错问题处理:
1、打开Komodo安装目录下的lib\mozilla\components,找到koEncodingServices.py文件,在其81行加入如下代码:
('cp936', 'Chinese(CP-936/GB2312)', 'CP936', '', 1,'cp936'),
('GB2312', 'Chinese(GB-2312)', 'GB2312', '', 1,'GB2312'),
('GBK', 'Chinese(GBK)', 'GBK', '', 1,'GBK'),
('GB18030', 'Chinese(GB18030)', 'GB18030', '', 1,'GB18030'),
也就是把中文编码支持补全到那个列表参数中,这样在后面我们就可以通过Komodo的设置页面来选择这几个编码了。

2、启动Komodo,选择Edit->Preferences菜单,找到Internationalization,把“Use Encoding Defined in Environment:cp936”勾选上(Komodo 7 已经默认把这个勾上了),这样就把编辑器的默认编码设置为系统默认的cp936了,当然你也可以在下面的“Language-specific Default Enciding”选项单独为某个脚本设置编码。

3、做完第二步还不够,在编写python程序的时候,需要在前面加上“#-*- coding:UTF-8 -*-”以指明文件编码
  评论这张
 
阅读(2926)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017