有个伟人说过:

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. AngularJS html5Mode与ASP.NET MVC路由共存

    前言 很久之前便听说AngularJS,非常酷,最近也比较火,我也在持续关注这个技术,只是没有认真投入学习.前不久公司找我们部门做一个OA系统(想省下几万大洋的费用),第一时间便想到AngularJS ...

  2. Cocos2d-3x:vs2012项目开关android项目需要注意的地方

    http://www.cocoachina.com/bbs/read.php?tid=194668 先依照这个文章导入库到vs项目. 在vs项目的sceen类的里加入 #include "c ...

  3. poj 1160 Post Office (间隔DP)

    Post Office Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 15966   Accepted: 8671 Desc ...

  4. C++ friend 用法汇总

    C++这位朋友同意之类的非公共成员的机制是一个类或函数访问,根据朋友的类型分为三种类型:一般非类成员函数为好友,类成员函数为好友.类为好友. 1 内容朋友 包括报表朋友的朋友以及朋友的定义.明默的感觉 ...

  5. 关于通过id查询记录的一些总结

    最近在做一个oa系统,简化了账号的设置,列名均为id,类型均为varchar:有的表将id设置成了主键,有的表没有设置成主键. 通过举例说明通过id查询的一些问题. 之前登陆的时候,账号001-007 ...

  6. C++调用一个成员函数的需求this指针的情况

    1.虚成员函数,因为需要this展望虚表指针的指针 2.在数据成员的操作部件的功能 #include "stdafx.h" #include <iostream> #i ...

  7. crawler_httpclient代理访问

    public String getDocumentByProxy(String url) throws ClientProtocolException, IOException { DefaultHt ...

  8. oracle_PLSQL 快捷键使用技巧

    PLSQL 快捷键使用技巧 2012-01-17 09:32:50标签:PLSQL PLSQL 编程工具快捷设置 PLSQL使用技巧 PLSQL 快捷键 oracle PLSQL 最近在开发过程中,遇 ...

  9. 经典Loading 动漫赏析

    0. 传统的菊花Loading动画 假设作为程序猿的你还在用菊花作为Loading动画,是时候换个口味了.来看下5种不错的Loading动画. 几种颜色组成的动画,给用户一个美感. 1.android ...

  10. 【百度地图API】小学生找哥哥——小学生没钱打车,所以此为公交查询功能

    原文:[百度地图API]小学生找哥哥--小学生没钱打车,所以此为公交查询功能 任务描述: 有位在魏公村附近上小学的小朋友,要去北京邮电大学找哥哥.他身上钱很少,只够坐公交的.所以,百度地图API快帮帮 ...