有个伟人说过:

python的学习很大一部分取决与你对第三方包的熟悉和掌握程度!

virtualenv

virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:
1. 在没有权限的情况下安装新套件
2. 不同应用可以使用不同的套件版本
3. 套件升级不影响其他应用

http://liuzhijun.iteye.com/blog/1872241

1,安装配置
sudo pip install virtualenvwrapper 创建目录用来存放虚拟环境 mkdir $HOME/.virtualenvs 在~/.bashrc中添加行: export WORKON_HOME=$HOME/.virtualenvs 在~/.bashrc中添加行:source /usr/local/bin/virtualenvwrapper.sh 运行: source ~/.bashrc 2,使用
列出虚拟环境列表: workon 也可以使用:lsvirtualenv 新建虚拟环境:mkvirtualenv [虚拟环境名称] 启动/切换虚拟环境:workon [虚拟环境名称] 删除虚拟环境:rmvirtualenv [虚拟环境名称] 离开虚拟环境:deactivate

chardet

功能:字符串/文件编码检测模板

下载:(http://pypi.python.org/pypi/chardet)

用法:chardet.detect() 返回字典,其中confidence是检测精确度,encoding是编码形式

libxml2

功能:解析xml文件,在公司解析pptv网站的时候用到。

下载: ~~~~~~

用法:

    html = urllib.urlopen(url).read()
...
#转码
...
encoding = 'utf-8'
options = libxml2.HTML_PARSE_RECOVER | libxml2.HTML_PARSE_NOERROR \
| libxml2.HTML_PARSE_PEDANTIC | libxml2.HTML_PARSE_NONET \
| libxml2.HTML_PARSE_NOWARNING
doc = libxml2.htmlReadMemory(html, len(html), None, encoding, options) context = doc.xpathNewContext()
re_list = context.xpathEval(xpath_title) #xpath_title = "//*div[@class='movieinfo']/p/a/@title"
print re_list.getContent(), re_list.xpathCastNodeToString()
print re_list[0].content
if doc:
doc.freeDoc()

ConfigParser:

功能:读取ini配置文件

用法:

cf = ConfigParser.ConfigParser()
cf.read("conf.ini")
#获取节点内容
cf.get("db", "db_host")
cf.getint("db", "db_port")
'''
getfloat getboolean(yes, on, true, 1; no, off, false, 0)
''' # 增加section,设置option
cf.add_section('db2')
cf.set("db2", "pass", "") # 移除section,option
cf.remove_option('db2','pass')
cf.remove_section('db2') # 写回文件
cf.write(open("conf.ini", "w")) #写回操作对对原来文件破坏,既原文件排版方式改变

multiprocessing

功能:多进程执行程序

用法:

import multiprocessing as mul

def f(x):
return x**2 pool = mul.Pool(5)
rel = pool.map(f,[1,2,3,4,5,6,7,8,9,10]) #将f()函数作用到表的每个元素上 res = pool.apply_async(func,args) #从进程池中取出一个进程执行func,args为func的参数。它将返回一个AsyncResult的对象,你可以对该对象调用get()方法以获得结果。
print res.get() pool.close() #进程池不再创建新的进程
pool.join() #wait进程池中的全部进程。必须对Pool先调用close()方法才能join

nosetests

unittest2

python -m cProfile 查看性能

python -m SimpleHTTPServer 搭建http服务

timeit

python的计时模块,可以用来获取某条语句或某个函数的运行速度,得以分析性能。

基本使用方法:

import timeit

def test_range(n):
sum = 0
for i in range(n):
sum += i
return sum def test_xrange(n):
sum = 0
for i in xrange(n):
sum += i
return sum t_range = timeit.Timer("test_range(100)", "from __main__ import test_range");
t_xrange = timeit.Timer("test_xrange(100)", "from __main__ import test_xrange"); print(t_range.timeit())
print(t_xrange.timeit()) print(t_range.repeat(3, 10000))
print(t_xrange.repeat(3, 10000))

主要有三个方法:

1,Timer: 输入两个参数,第一个是你要计时的语句或函数,第二个是你参数语句构建环境的导入语句。

2,有了Timer对象,你可以调用timeit函数,默认返回执行你的函数一百万次所消耗的秒数。

3,Timer对象可以调用repeat函数,它接受两个可选参数。第一个参数是重复整个测试的次数,第二个参数是每个测试中调用被计时语句的次数。两个参数都是可选的,它们的默认值分别是 31000000repeat() 方法返回以秒记录的每个测试循环的耗时列表。

python包的更多相关文章

  1. 离线pip下载Python包

    离线pip下载Python包   这几天搞Windows离线断网环境下安装Python包,配置环境,各种坑!做个记录,供以后查询吧.      # 生产环境  windows xp# python 2 ...

  2. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  3. RobotFramework中加载自定义python包中的library(一个py文件中有多个类)

    结构如下: appsdk\ appsdk.py(这里面有多个类,包括appsdk,appsdksync等类) __init__.py ... ① 有个appsdk的文件夹(符合python包的定义) ...

  4. centos 7 下安装numpy、scipy等python包

    本文适用于刚入门的小白,欢迎大牛们批评指正. 因为要开始数据分析,而python又不像R和matlab那么简洁.需要安装的包很多~ 网上找了好多牛人博客,想在centos7下安装numpy,scipy ...

  5. python 包管理工具

    python 包管理工具 Python当前的包管理工具链是 easy_install/pip + distribute/setuptools + distutils,显得较为混乱. 而将来的工具链组合 ...

  6. Python 包管理工具解惑

    Python 包管理工具解惑 本文链接:http://zengrong.net/post/2169.htm python packaging 一.困惑 作为一个 Python 初学者,我在包管理上感到 ...

  7. Python 包的相对导入讲解

    [Python 包的相对导入讲解] 参考:http://www.dai3.com/python-import.html

  8. 转: CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

    from: http://www.linuxde.net/2014/05/15576.html CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法 2014/05/ ...

  9. 纯Python包发布setup脚本编写示例

    如果你有多个模块需要发布,而它们又存在于多个包中,那么指定整个包比指定模块可能要容易地多.即使你的模块并不在一个包内,这种做法也行的通:你可以告诉Distutils从根包(root package)处 ...

  10. windows 64位 dll文件 位置及python包rtree shapely安装

    位置 \Windows\System32 python包依赖包安装 rtree 依赖 spatialindex(spatialindex.dll   spatialindex_c.dll) shape ...

随机推荐

  1. 左右GNU Linux企业加密文件系统 eCryptfs简介

    /*********************************************************************  * Author  : Samson  * Date   ...

  2. Cocos2d-x 文本渲染

     文本渲染: CCLabelAtlas.CCLabelBMFont.CCLabelTTF类都是继承 CCLabelProtocol类,即能够使用系统字,也能够自己定义渲染字体. CCLabelAtla ...

  3. 初学git && 使用总结

    参考文章:http://www.ruanyifeng.com/blog/2014/06/git_remote.html git基础操作   http://www.ruanyifeng.com/blog ...

  4. android 编译共享ccache的缓存

    1. android自带的ccache版本号(2.4版本号)过低,是无法支持以上的功能的,须要使用新版ccache. 2. 最新的ccache请到http://ccache.samba.org/dow ...

  5. 出现localStorage错误Link解决方案(组态)

    属性-链接-进入-附加依赖-加入sqlite3.lib cocos2d-x-2.2.2\Debug.win32添加的文件夹sqlite3.dll.sqlite3.lib 版权声明:本文博客原创文章.博 ...

  6. 【百度地图API】建立全国银行位置查询系统(四)——如何利用百度地图的数据生成自己的标注

    原文:[百度地图API]建立全国银行位置查询系统(四)--如何利用百度地图的数据生成自己的标注 摘要: 上一章留个悬念,"如果自己没有地理坐标的数据库,应该怎样制作银行的分布地图呢?&quo ...

  7. DBUtils的使用

    DButils是apache旗下Commons项目中的一个JDBC工具包,它可以为帮助我们简化对JDBC的操作,但它并不是一个ORM框架,只是可以为我们执行sql,并将返回的ResultSet转化成我 ...

  8. Unofficial Microsoft SQL Server Driver for PHP (sqlsrv)非官方的PHP SQL Server 驱动

    原文 Unofficial Microsoft SQL Server Driver for PHP (sqlsrv) Here are unofficial modified builds of Mi ...

  9. ECLIPSE实现了界面显示所有类

    按下接口名称CTRL+T实现全面实施的接口类显示 版权声明:本文博客原创文章,博客,未经同意,不得转载.

  10. C语言库函数大全及应用实例五

    原文:C语言库函数大全及应用实例五                                                 [编程资料]C语言库函数大全及应用实例五 函数名: getcurdi ...