Python标准库概览
Python标准库通常被称为“自带的电池”,自然地提供了广泛的功能,涵盖了大概200个左右的包与模块。不断有高质量的包或模块被开发出来,极大的丰富了标准库。但有些模块放在标准库中很难去维护,比如“Berkeley DB”模块,其被清理出标准库进行单独维护。还有一些库,比如PyParsing(创建分析器)也是没有被加在标准库中。
1 字符串处理
1.1 String模块
常量:string.ascii_letters、 string.hexdigits。
string.Formatter子类,自定义字符串格式化器。textwrap模块可用于捕获指定宽度的文本行,并最小化缩排的需求。
1.2 Struct模块
提供了一些函数,将数字布尔型变量以及字符串打包为字节对象(以其二进制表示),或从字节对象中拆分为适当的类型,用于跟C语言底层的交互。
1.3 difflib模块
提供了用于对比序列(比如字符串)进行比较的类与方法,并可以产生以标准的“diff”格式与HTML格式输出信息。
1.4 re正则表达式
最强大的字符串处理模块
2 io.StringIO类
python提供两种将文本写入到文件的方法,一种是使用open,write方法,一种是print()函数,并将其关键字参数file设置为打开并等待写入的文件对象。比如:
print("An error message", file = sys.stdout)
sys.stdout.write("Another error message\n")
以上两行文本都将被打印输出到sys.stdout中,这是一个文件对象,表示“标准输出流”
如果使用了sys.stdout = io.StringIO,那么输入到sys.stdout中的文件都将会发送给io.StringIO。可通过io.StringIO.getvalue()函数来获取值。
3 命令行程序设计
fileinput.input()对控制台中重定向的所有行进行迭代。fileinput.filename()与fileinput.lineno(),该模块可在任意时刻报告当前文件名与行号。
处理命令行选项模块:optparse和getopt
import optparse
def main():
parser = optparse.OptionParser()
parser.add_option("-w","--maxwidth",dest = "maxwidth",type = 'int',help = ("the maximum number of characters that can be""output to string fields[default:%default]"))
parser.add_option("-f","--format",dest = 'format',help = "the format used for outputting numbers""[default:%default]")
parser.set_defaults(maxwidth = 100,format = ".0f")#设置初始值
opts,args = parser.parse_args()
4 数学与数字
内置:int,float,complex
数值型标准库:decimal.Decimal,fraction.Fraction
标准的数学函数:math
复数数学函数:cmath
随机数:random
5 时间和日期
calendar和datetime
6 算法与组合数据类型
bisect 搜索有序序列
heapq将序列转换为堆
import heapq
heap = []
heapq.heappush(heap, (5, "rest"))
heapq.heapify()#将列表转换为堆,可以自动完成必要的重新排序
heapq.heappop()#从堆中移除最小项
heapq.merge()#任意数量的排序后的迭代作为参数返回一个迭代子。
collection包提供了collectio.defaultdict和collection.named- tuple, collection.UserList, collection.UserDict.Collection.deque(跟list作用相同但是list只在列表结尾添加或删除有很快的速度,collection在开始和结尾都有很快的速度。)
collection.OrderDict和collection.Counter(提供一个保持各种技术的便捷且快速的方法。以二元组(元素,个数)返回唯一元素或最常见元素的列表。
array提供了序列类型:array.array(与列表的区别是:对象类型是固定的)
weakref:弱引用功能。(与通常引用的区别在于如果对某个对象仅有弱引用,那么该对象仍然可以被调度进入垃圾收集,用于防止仅因为对其引用而存在内存里。
7 文件,目录与进程处理
Shutil模块提供了用于文件与目录处理的高层函数,用于包括复制文件与整个目录的shutil.copy()和shutil.copytree()函数,移动目录树的shutil.move()移动整个目录树的shutil.rmtree()函数
临时文件的创建应该使用tempfile模块,tempfile.mkstemp()创建临时对象。
filecmp用于文件的比较filecmp.cmp(),整个目录的比较filecmp.cmpfiles()
Processing 和MultiProcessing
os模块:os.environ环境变量名和值。os.getcwd可获取程序工作目录。os.chdir修改工作目录。os.access确定某个文件是否存在或可读写。os.listdir()给定目录中的条目列表os.stat()返回文件与目录的各种信息项(模式,访问时间,大小)os.mkdir()创建目录 os.make-dirs()创建中间目录。os.rmdir()移除空目录os.rename()重命名os.walk()整个目录树上迭代,依次取回每个文件与目录的名称os.path.abspath()返回绝对路径os.path.split()返回二元组,第一项包含路径第二项则是文件名(os.path.basename()与os.path.dirname())文件名也可分为两部分(名称和扩展名)os.splitext()。os.path.join()接受任意数量的路径字符串,并使用特定分隔符返回。
Python标准库概览的更多相关文章
- Python - 标准库概况 - 第二十一天
Python 标准库概览 操作系统接口 os模块提供了不少与操作系统相关联的函数. 建议使用 "import os" 风格而非 "from os import *&quo ...
- python系列十七:Python3 标准库概览
#!/usr/bin/python #-*-coding:gbk-*- #Python3 标准库概览'''操作系统接口os模块提供了不少与操作系统相关联的函数.建议使用 "import os ...
- python第六天 函数 python标准库实例大全
今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...
- python023 Python3 标准库概览
Python3 标准库概览 操作系统接口 os模块提供了不少与操作系统相关联的函数. >>> import os >>> os.getcwd() # 返回当前的工作 ...
- Python标准库14 数据库 (sqlite3)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.S ...
- python标准库00 学习准备
Python标准库----走马观花 python有一套很有用的标准库.标准库会随着python解释器一起安装在你的电脑上的.它是python的一个组成部分.这些标准库是python为你准备的利器,可以 ...
- Python标准库:内置函数hasattr(object, name)
Python标准库:内置函数hasattr(object, name) 本函数是用来判断对象object的属性(name表示)是否存在.如果属性(name表示)存在,则返回True,否则返回False ...
- python标准库xml.etree.ElementTree的bug
使用python生成或者解析xml的方法用的最多的可能就数python标准库xml.etree.ElementTree和lxml了,在某些环境下使用xml.etree.ElementTree更方便一些 ...
- 【python】Python标准库defaultdict模块
来源:http://www.ynpxrz.com/n1031711c2023.aspx Python标准库中collections对集合类型的数据结构进行了很多拓展操作,这些操作在我们使用集合的时候会 ...
随机推荐
- Java面试题库及答案解析
1.面向对象编程(OOP)有哪些优点? 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可靠性和灵活性. 增加代码的可理解性. 2.面向对象编程有哪些特性? 封装.继承.多态.抽象 封装 封装 ...
- 深入java虚拟机学习 -- 类的加载机制
当看到"类的加载机制",肯定很多人都在想我平时也不接触啊,工作中无非就是写代码,不会了可以百度,至于类,jvm是怎么加载的我一点也不需要关心.在我刚开始工作的时候也觉得这些底层的内 ...
- SpringMvc笔记-对RESTFUL风格的配置
1.@RequestMapping注解可以使用如下参数: 1,params:例如params={'username',"age!=100"}表示需要usernmame并且age 属 ...
- mysql存储引擎、事务
MySQL存储引擎介绍 文件系统 操作系统组织和存取数据的一种机制. 文件系统是一种软件. 文件系统类型 ext2 ext3 ext4 xfs 数据 不管使用什么文件系统,数据内容不会变化 不同 ...
- GCC精彩之旅_1
说明: 本文共两篇,转自GCC精彩之旅.第一篇着重介绍GCC编译一个程序的过程与优化,第二篇侧重在GCC结合GDB对代码的调试. 在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎 ...
- 剑指offer第八天
32.把数组排成最小的数 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323 ...
- EmguCV 绘画图形
1.Image类中绘图常用函数列表 实践验证 ///初始化图片 private void Form1_Load(object sender, EventArgs e) { oldpic = new E ...
- HDU - 1789 贪心
贪心策略:按照分数降序排列,如果分数相同将截止时间早的排在前面.每次让作业尽量晚完成,因此需要逆序枚举判断这一天是否已经做了其他作业,如果没时间做这个作业说明不能完成,否则将这一天标记. AC代码 # ...
- CodeForces-748D 贪心
这题的思维难度不是很大,属于编程实现细节处理较多的题. 暂且把每个字符串的"beauty"称为魅力值,用一个优先队列数组将同一个字符串的所有魅力值保存,通过map将不同字符串编号, ...
- react按需加载(getComponent优美写法),并指定输出模块名称解决缓存(getComponent与chunkFilename)
react配合webpack进行按需加载的方法很简单,Route的component改为getComponent,组件用require.ensure的方式获取,并在webpack中配置chunkFil ...