python常用标准库及三方库

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

python常用标准库及三方库作者:yegle链接:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。只介绍我用过觉得有强烈推荐欲望的几个=====================标准库*写命令行脚本必备,可惜是2.7才添加的,得看具体环境了…*解析HTMLDOM树,偶尔搞搞命令行自动表单提交用得上。感觉不好用但是毕竟是官方库=====================第三方库*简直是系统管理神器,谁用谁知道*轻量的SOAP客户端,如果贵厂内部有用SOAP接口,那这个几乎是必须了*这个HTTPlib的名字叫PythonHTTPforHuman。用过urllib、urllib2、httplib的人,你懂的**前者是静态博客生成器(写markdown文本,然后自动转换成html静态文件),后者是文档生成器(以前拿这个做wiki用)*检查Python脚本是否符合PEP8的styleguide*语法高亮的lib,很多ruby项目用的都是这个pythonlib来做语法高亮的其他想到了再补充吧作者:atupal链接:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。standardlibs:itertools://docs.python.org/2/library/functools.html学好python有必要掌握上面这两个库吧,re正则subprocess调用shell命令的神器pdb调试traceback调试pprint漂亮的输出logging日志threading和multiprocessing多线程urllib/urllib2/httplibhttp库,httplib底层一点,推荐第三方的库requestsos/sys系统,环境相关Queue队列pickle/cPickle序列化工具hashlibmd5,sha等hash算法cvsjson/simplejsonpython的json库,据so上的讨论和benchmark,simplejson的性能要高于jsontimeit计算代码运行的时间等等cProfilepython性能测量模块glob类似与listfile,可以用来查找文件atexit有一个注册函数,可用于正好在脚本退出运行前执行一些代码dispython反汇编,当对某条语句不理解原理时,可以用dis.dis函数来查看代码对应的python解释器指令等等。3thlibs:paramiko库selenium浏览器自动化测试工具selenium的python接口lxml解析html,xml的神器mechanize://pypi.python.org/pypi/pycurlcURLlibrarymoduleforPythonFabric(2.5orhigher)libraryandcommand-linetoolforstreamliningtheuseofSSHforapplicationdeploymentorsystemsadministrationtasks.xmltodict转dict,真心好用urllib3和requests:当然其实requests就够了Requests:HTTPforHumansflask微框架ipdb调试神器,同时推荐ipython!结合ipython使用redisredispython接口pymongomongodbpython接口PIL图像处理mako模版引擎numpy,scipy科学计算matplotlib画图scrapy爬虫django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy.等等pythonweb框架/服务器sh1.08—shv1.08documentation用来运行shell模块的极佳选择python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的。常用的libraries(modules)如下:1)python运行时服务*copy:copy模块提供了对复合(compound)对象(list,tuple,dict,customclass)进行浅拷贝和深拷贝的功能。*pickle:pickle模块被用来序列化python的对象到bytes流,从而适合存储到文件,网络传输,或数据库存储。(pickle的过程也被称serializing,marshalling或者flattening,pickle同时可以用来将bytes流反序列化为python的对象)。*sys:sys模块包含了跟python解析器和环境相关的变量和函数。*其他:atexit,gc,inspect,marshal,traceback,types,warnings,weakref。2)数学*decimal:python中的float使用双精度的二进制浮点编码来表示的,这种编码导致了小数不能被精确的表示,例如0.1实际上内存中为0.100000000000000001,还有3*0.1==0.3为False.decimal就是为了解决类似的问题的,拥有更高的精确度,能表示更大范围的数字,更精确地四舍五入。*math:math模块定义了标准的数学方法,例如cos(x),sin(x)等。*random:random模块提供了各种方法用来产生随机数。*其他:fractions,numbers。3)数据结构,算法和代码简化*array:array代表数组,类似与list,与list不同的是只能存储相同类型的对象。*bisect:bisect是一个有序的list,其中内部使用二分法(bitsection)来实现大部分操作。*collections:collections模块包含了一些有用的容器的高性能实现,各种容器的抽象基类,和创建name-tuple对象的函数。例如包含了容器deque,defaultdict,namedtuple等。*heapq:heapq是一个使用heap实现的带有优先级的queue。*itertools:itertools包含了函数用来创建有效的iterators。所有的函数都返回iterators或者函数包含iterators(例如generators和generators)。*operator:operator提供了访问python内置的操作和解析器提供的特殊方法,例如x+y为add(x,y),x+=y为iadd(x,y),a%b为mod(a,b)等等。*其他:abc,contextlib,functools。4)string和text处理*codecs:codecs模块被用来处理不同的字符编码与unicodetextio的转化。*re:re模块用来对字符串进行正则表达式的匹配和替换。*string:string模块包含大量有用的常量和函数用来处理字符串。也包含了新字符串格式的类。*struct:struct模块被用来在python和二进制结构间实现转化。*unicodedata:unicodedata模块提供访问unicode字符数据库5)python数据库访问*关系型数据库拥有共同的规范PythonDatabaseAPISpecificationV2.0,MySQL,Oracle等都实现了此规范,然后增加自己的扩展。*sqlite3:sqlite3模块提供了SQLite数据库访问的接口。SQLite数据库是以一个文件或内存的形式存在的自包含的关系型数据库。*DBM-style数据库模块:python提供了打了的modules来支持UNIXDBM-style数据库文件。dbm模块用来读取标准的UNIX-dbm数据库文件,gdbm用来读取GNUdbm数据库文件,dbhash用来读取BerkeleyDB数据库文件。所有的这些模块提供了一个对象实现了基于字符串的持久化的字典,他与字典dict非常相似,但是他的keys和values都必须是字符串。*shelve:shelve模块使用特殊的“shelf”对象来支持持久化对象。这个对象的行为与dict相似,但是所有的他存储的对象都使用基于hashtable的数据库(dbhash,dbm,gdbm)存储在硬盘。与dbm模块的区别是所存储的对象不仅是字符串,而且可以是任意的与pickle兼容的对象。6)文件和目录处理*bz2:bz2模块用来处理以bzip2压缩算法压缩的文件。*filecmp:filecmp模块提供了函数来比较文件和目录。*fnmatch:fnmatch模块提供了使用UNIXshell-style的通配符来匹配文件名。这个模块只是用来匹配,使用glob可以获得匹配的文件列表。*glob:glob模块返回了某个目录下与指定的UNIXshell通配符匹配的所有文件。*gzip:gzip模块提供了类GzipFile,用来执行与GNUgzip程序兼容的文件的读写。*shutil:shutil模块用来执行更高级别的文件操作,例如拷贝,删除,改名。shutil操作之针对一般的文件,不支持pipes,blockdevices等文件类型。*tarfile:tarfile模块用来维护tar存档文件。tar没有压缩的功能。*tempfile:tempfile模块用来产生临时文件和文件名。*zipfile:zipfile模块用来处理zip格式的文件。*zlib,zlib模块提供了对zlib库的压缩功能的访问。7)操作系统的服务*cmmands:commands模块被用来执行简单的系统命令,命令以字符串的形式传入,且同时以字符串的形式返回命令的输出。但是此模块只在UNIX系统上可用。*configParser,configParser模块用来读写

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功