python模块
2018-08-20 16:57:13 0 举报
AI智能生成
python常用模块(未完成版)
作者其他创作
大纲/内容
python模块
random模块
模块名称:random导入方法:import random
常用方法
random.random() # 大于0且小于1之间的小数0.7664338663654585
#随机整数font color=\"#f68b1f\
#随机选择一个返回font color=\"#f68b1f\
#打乱列表顺序font color=\"#f68b1f\
生成随机验证码
sys模块
模块名称:sys导入方法:import sys
sys.argv
命令行参数List,第一个元素是程序本身路径
sys.exit(n)
sys.version
获取Python解释程序的版本信息
sys.path
返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform
返回操作系统平台名称
sys.modules
子主题
序列化模块
json模块
模块名称:json导入方法:import json
json.dumps()
序列化:将一个字典转换成一个字符串
json.loads()
反序列化:将一个字符串格式的字典转换成一个字典
dic2 = json.loads(str_dic) #反序列化:将一个字符串格式的字典转换成一个字典#注意,要用json的loads功能处理的字符串类型的字典中的字符串必须由\"\
json.dump()
dump方法接收一个文件句柄,直接将字典转换成json字符串写入文件
json.load()
load方法接收一个文件句柄,直接将文件中的json字符串转换成数据结构返回
ensure_ascii=False关键字参数
pickle模块
pickle.dumps()
序列化:将一个字典转换成一串二进制内容
pickle.loads()
反序列化:将一个二进制格式的字典转换成一个字典
dic2 = pickle.loads(str_dic)print(dic2)
time模块
模块名称:time导入方法:import time
time.sleep(secs)(线程)推迟制定的时间运行.单位为秒
time.time()获取当前时间戳
表示时间的三种方在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串
font color=\"#f68b1f\
time.time()1500875844.800804
格式化的时间字符串(Format String):%y 两位数的年份表示(00-99)%Y 四位数的年份表示(000-9999)%m 月份(01-12)%d 月内中的一天(0-31)%H 24小时制小时数(0-23)%I 12小时制小时数(01-12)%M 分钟数(00=59)%S 秒(00-59)%a 本地简化星期名称%A 本地完整星期名称%b 本地简化的月份名称%B 本地完整的月份名称%c 本地相应的日期表示和时间表示%j 年内的一天(001-366)%p 本地A.M.或P.M.的等价符%U 一年中的星期数(00-53)星期天为星期的开始%w 星期(0-6),星期天为星期的开始%W 一年中的星期数(00-53)星期一为星期的开始%x 本地相应的日期表示%X 本地相应的时间表示%Z 当前时区的名称%% %号本身
time.strftime(\"%Y-%m-%d %X\")'2017-07-24 13:54:37'>>>time.strftime(\"%Y-%m-%d %H-%M-%S\")'2017-07-24 13-55-04'
三种格式之间的转换
#结构化时间-->时间戳 #time.mktime(结构化时间)>>>time_tuple = time.localtime(1500000000)>>>time.mktime(time_tuple)1500000000.0
#结构化时间-->字符串时间#time.strftime(\"格式定义\
#结构化时间 --> %a %b %d %H:%M:%S %Y串#time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串>>>time.asctime(time.localtime(1500000000))'Fri Jul 14 10:40:00 2017'>>>time.asctime()'Mon Jul 24 15:18:33 2017'
#时间戳 --> %a %b %d %H:%M:%S %Y串#time.ctime(时间戳) 如果不传参数,直接返回当前时间的格式化串>>>time.ctime()'Mon Jul 24 15:19:07 2017'>>>time.ctime(1500000000)'Fri Jul 14 10:40:00 2017'
os模块
模块名称:os导入方法:import os
文件操作
可生成多层递归目录
os.makedirs('dirname1/dirname2'
若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.removedirs('dirname1')
生成单级目录
os.mkdir('dirname')
删除单级空目录,若目录不为空则无法删除,报错
os.rmdir('dirname')
列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.listdir('dirname')
删除一个文件
os.remove()
重命名文件/目录
os.rename(\"oldname\
获取文件/目录信息
os.stat('path/filename')
os.path
返回path规范化的绝对路径 os.path.split(path) 将path分割成目录和文件名二元组返回
os.path.abspath(path)
返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.dirname(path)
返回path最后的文件名。如何path以/或\\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.basename(path)
如果path存在,返回True;如果path不存在,返回False
os.path.exists(path)
如果path是绝对路径,返回True
os.path.isabs(path)
如果path是一个存在的文件,返回True。否则返回False
os.path.isfile(path)
如果path是一个存在的目录,则返回True。否则返回False
os.path.isdir(path)
将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
返回path所指向的文件或者目录的最后访问时间
os.path.getatime(path)
返回path所指向的文件或者目录的最后修改时间
os.path.getmtime(path)
返回path的大小
os.path.getsize(path)
统计文件夹大小
递归版
for循环版
执行doc命令
执行字符串数据类型的操作系统命令
os.system()
os.popen()
re模块
模块名称:re导入方法:import re
findall
匹配所有 每一项都是列表中的一个元素
search
match
split
切割
sub/subn
替换
正则表达式
元字符:
匹配所有的数字
\\d
/w
匹配所有的空白符 回车/换行符 制表符 空格
/s
匹配换行符
/n
匹配制表符
/t
表示单词的边界
/b
/W
匹配除了数字以外的所有字符
\\D
匹配除了空白符 回车 换行符 制表符 空格以外的所有内容
\\S
匹配一个字符串的开始
^
匹配一个字符串的结束
$
匹配除换行符之外的所有字符
.
出现在中括号内的内容都可以被匹配
[]
只要不出现在中括号中的内容都可以被匹配
[^]
\"或\" 符合a规则或者符合b规则的都可以被匹配 (ps:将更复杂的/更长的规则写在最前面)
a|b
()
量词:
表示这个量词之前的字符出现n次
{n}
表示这个量词之前的字符至少出现n次
表示这个量词之前的字符出现n-m次
表示匹配量词之前的字符出现 0次 或者 1次
?
表示匹配量词之前的字符出现 1次 或者 多次
+
表示匹配量词之前的字符出现 0次 或者 多次
*
进阶:节省时间/空间
节省时间:compile
ret = re.compile('\\d+') # 已经完成编译了print(ret)res = ret.findall('alex83taibai40egon25')print(res)res = ret.search('sjkhk172按实际花费928')print(res.group())
节省空间:finditer
博客园
0 条评论
回复 删除
下一页