模块分为三种:
- 内置标准模块
- 自定义模块
- 开源模块(第三方)
以下主要介绍常用内置模块:
一、time模块
time() -- 返回时间戳
sleep() -- 延迟运行单位为s
gmtime() -- 转换时间戳为时间元组(时间对象)
localtime() -- 转换时间戳为本地时间对象
asctime() -- 将时间对象转换为字符串
ctime() -- 将时间戳转换为字符串
mktime() -- 将本地时间转换为时间戳
strftime() -- 将时间对象转换为规范性字符串
strptime() -- 将时间字符串根据指定的格式化符转换成数组形式的时间
二、datetime模块
date.today() --返回一个表示当前本地日期的date对象
date.fromtimestamp(timestamp) --根据给定的时间戮,返回一个date对象
date.year() --取给定时间的年
date.month() --取时间对象的月
date.day() --取给定时间的日
date.replace() --生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性
三、sys模块
用于提供对解释器相关的访问及维护,并有很强的交互功能
#常用属性
sys.argv --传参,第一个参数为脚本名称即argv[0]
sys.path --模块搜索路径
sys.moudule --加载模块字典
sys.stdin --标准输入
sys.stdout --标准输出
sys.stderr --错误输出
sys.platform --返回系统平台名称
sys.version --查看python版本
sys.maxsize --最大的Int值
四、os
模块
用于提供系统级别的操作
----编写服务器脚本时较为重要, 例如system方法可以执行系统命令
----如果是要实现更高级的文件操作, 应该使用shutil模块可以操作文件目录树, 文件复制, 创建
1 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
2 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
3 os.curdir 返回当前目录: ('.')
4 os.pardir 获取当前目录的父目录字符串名:('..')
5 os.makedirs('dir1/dir2') 可生成多层递归目录
6 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
7 os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
8 os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
9 os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
10 os.remove() 删除一个文件
11 os.rename("oldname","new") 重命名文件/目录
12 os.stat('path/filename') 获取文件/目录信息
13 os.sep 操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
14 os.linesep 当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
15 os.pathsep 用于分割文件路径的字符串
16 os.name 字符串指示当前使用平台。win->'nt'; Linux->'posix'
17 os.system("bash command") 运行shell命令,直接显示
18 os.environ 获取系统环境变量
19 os.path.abspath(path) 返回path规范化的绝对路径
20 os.path.split(path) 将path分割成目录和文件名二元组返回
21 os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
22 os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
23 os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
24 os.path.isabs(path) 如果path是绝对路径,返回True
25 os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
26 os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
27 os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
28 os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
29 os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
五、random模块
生成随机变量
random.randint(12, 20) 用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。
random.choice('abcdefg&#%^*f') 随机字符/字符串
random.random() 随机浮点
random.uniform(1, 10) 限定范围内随机浮点数
六、math模块
ceil( ) 取大于等于x的最小的整数值,如果x是一个整数,则返回x
fabs() 返回x的绝对值
七、re模块 --正则表达式
match:只在第一个字符串开始找,如果没有匹配,则不再继续找,
如果第一个字符串中有,则只输出第一个
searh: 在所有内容里找,直到找到为止,但只输出找到的第一个
findall:把所有找到的匹配的内容,都通过列表的形式打印出来c
ompile: 编译之后再去匹配,这样可以加快匹配的速度
group: 把他匹配的内容输出出来
groups:分组
七、json 和 序列化picle 模块
Json 模块和pickle都提供了四个方法: dumps、dump、loads、load
#Json
dumps “obj” 数据类型 转换为 JSON格式的字符串 只完成了序列化为str,
dump 必须传文件描述符,将序列化的str保存到文件中,一个动作是将”obj“转换为JSON格式的字符串,还有一个动作是将字符串写入到文件中,也就是说文件描述符fp是必须要的参数
loads 将包含str类型的JSON文档反序列化为一个python对象, 只完成了反序列化,
load 只接收文件描述符,完成了读取文件和反序列化,将一个包含JSON格式数据的可读文件饭序列化为一个python对象
#pickle
json模块序列化出来的是通用格式,其它编程语言都认识,就是普通的字符串,
而picle模块序列化出来的只有python可以认识,其他编程语言不认识的,表现为乱码