python 常用模块介绍

来源:互联网 发布:算法工程师jd 编辑:程序博客网 时间:2024/05/22 03:49

chardet

github: https://github.com/chardet/chardet
官网:http://pypi.python.org/pypi/chardet


chardet是一款用于字符串编码方式识别模块,这个模块是python的第三方库,所以需要进行安装。

  1. 安装

    • 直接下载安装包方式安装
      直接下载whl文件,放在python安装根目录\Lib\site-packages下,确保可以被python正确引用。
    • 下载chardet源码方式,进行手动安装
      sudo apt-get install pip #安装pipsudo apt-get install python-setuptools #安装setuptoolswget https://pypi.python.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz#md5=7dd1ba7f9c77e32351b0a0cfacf4055c  #下载chardet源码,也可以手动下载tar zxvf chardet-3.0.4.tar  # 解压文件到当前目录cd chardet-3.0.4sudo python setup.py install # 进行安装
  2. 实例:
import chardet  import urllib  #可根据需要,选择不同的数据  TestData = urllib.urlopen('http://www.baidu.com/').read()  print chardet.detect(TestData)  运行结果:  {'confidence': 0.99, 'encoding': 'GB2312'}  

可以判断有99%到可能性是GB2312编码。

判断文件编码

    import urllib      from chardet.universaldetector import UniversalDetector      usock = urllib.urlopen('http://www.baidu.com/')      #创建一个检测对象      detector = UniversalDetector()      for line in usock.readlines():          #分块进行测试,直到达到阈值          detector.feed(line)          if detector.done: break      #关闭检测对象      detector.close()      usock.close()      #输出检测结果      print detector.result      运行结果:      {'confidence': 0.99, 'encoding': 'GB2312'}  

高级用法

    import urllib      from chardet.universaldetector import UniversalDetector      usock = urllib.urlopen('http://www.baidu.com/')      #创建一个检测对象      detector = UniversalDetector()      for line in usock.readlines():          #分块进行测试,直到达到阈值          detector.feed(line)          if detector.done:             break      #关闭检测对象      detector.close()      usock.close()      #输出检测结果      print detector.result      运行结果:      {'confidence': 0.99, 'encoding': 'GB2312'}