标准库
1.sys模块
sys
模块包含与Python解释器紧密相关的变量和函数:
函数/变量 | 描述 |
---|---|
agrv |
命令行参数,包括脚本名称 |
exit([arg]) |
退出当前的程序,可选参数为给定的返回值或者错误信息 |
modules |
映射模块名字到载入模块的字典 |
path |
查找模块所在目录的目录名列表 |
platform |
类似sunos5或win32的平台标识符 |
stdin |
标准输入流——一个类文件对象 |
stdout |
标准输出流——一个类文件对象 |
stderr |
标准错误流——一个类文件对象 |
2.os模块
os
模块提供了访问多个操作系统服务的功能;os
及其子模块os.path
还包括用于检查、构造、删除目录和文件的函数,以及处理路径的函数(os.path.spilt
和os.path.join
);
函数/变量 | 描述 |
---|---|
environ |
对环境变量进行映射 |
system(command) |
在子shell中执行操作系统命令 |
sep |
路径中的分隔符 |
pathsep |
分隔路径的分隔符 |
linesep |
行分路径('\n', '\r', '\r\n') |
urandom(n) |
返回n 字节的加密强随机数据 |
3.fileinput模块
4.集合、堆和双端队列
集合
Set类位于sets模块,但在Python 2.3中不再需要导入sets模块,直接创建集合即可;
set(range(10)) # set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
集合由序列(或其他可迭代对象)构建,主要用于检查成员资格,因此副本是被忽略的;和字典一样,集合的顺序是随意的;
set([0, 1, 2, 3, 0, 1, 2, 3]) # set([0, 1, 2, 3])
堆
堆是优先队列的一种,使用优先队列能以任何顺序增加对象,且能在任何时间找到(或移除)最小的元素;Python中没有独立的堆类型,但有包含对操作的模块——heapq:
函数 | 描述 |
---|---|
heappush(heap, x) | 将x入堆 |
heappop(heap) | 将堆中最小的元素弹出 |
heapify(heap) | 将heap属性强制应用到任意一个列表 |
heapreplace(heap, x) | 将堆中最小的元素弹出,同时将x入堆 |
nlargest(n, iter) | 返回iter中第n大的元素 |
nsmallest(n, iter) | 返回iter中第n小的元素 |
双端队列
5.time模块
time模块的函数可实现以下功能:获取当前时间、操作时间和日期、从字符串读取时间以及格式化时间为字符串;日期可以使用实数或者包含九个整数的元组;
(年, 月, 日, 时, 分, 秒, 周, 儒历时, 夏令时)
6.random模块
random模块包含返回随机数的函数,可用于模拟或用于任何产生随机输入的程序;
函数 | 描述 |
---|---|
random() | 返回0<n≤1之间的随机实数n |
getrandbits(n) | 以长整数形式返回n个随机位 |
uniform(a, b) | 返回随机实数n,其中a≤n<b |
randrange([start], stop, [step]) | 返回range(start,stop,step)中的随机数 |
chioce(seq) | 从序列seq中返回随意元素 |
shuffle(seq[, random]) | 原地指定序列seq |
sample(seq, n) | 从粗劣seq中选择n个随机且独立的元素 |