查看python标准库元素_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()接受任意数量的路径字符串,并使用特定分隔符返回。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值