python常用库
os库
os模块是python中整理文件和目录最常用的模块,该模块提供了非常丰富的方法来处理文件和目录
os.name:返回
操作系统的名字。如windows返回'nt',Linux返回'posix'os.getcwd():获取当前工作的目录,返回
绝对路径os.listdir(path):以
列表形式列出path目录下所有的文件和目录名,默认为本文件所在目录。不区分目录和文件os.remove(path):删除指定的文件,不能省略参数且
path不存在会报错os.rmdir(path):删除path指定的目录,参数不能省略且
只能删除空目录,否则会报错os.removedirs(path):删除多级空目录
os.mkdir(path):创建path指定的目录,如果文件夹
存在就会报错,只能创建下一级目录os.makedirs(path):创建path指定的目录,如果文件夹存在就会报错,可以直接生成多层级目录
os.walk(path):深层次遍历指定路径下的所有子文件夹,返回一个由路径、文件夹列表、文件列表组成的元组
os.chdir(path):改变工作目录到指定目录
os.path模块
os.path.exists(path):判断path路径是否存在
os.path.isfile(path):判断path是否为文件
os.path.isdir(path):判断是否为目录
os.path.join(path1,path2):将两个路径字符串拼接起来,形成完成路径
os.path.split(path):传入一个完整的路径,拆分成
绝对路径和文件名元组形式os.path.dirname(path):传入完整文件路径,只返回绝对路径
os.path.basename(path):传入路径,只返回文件名
os.path.getsize(path):返回文件大小(字节)
os.path.abspath():获得绝对路径。
os.path.getmtime(path):文件或文件夹的最后修改时间,从新纪元到访问时的秒数。
os.path.getatime(path):文件或文件夹的最后访问时间,从新纪元到访问时的秒数。
os.path.getctime(path):文件或文件夹的创建时间,从新纪元到访问时的秒数。
pathlib库
pathlib是从python3开始就能完全替代os.path的内置库
pathlib和os.path的比较
当需要找多个层级的目录路径时,通过
os.path需要嵌套写法,而``pathlib`可以提供链式写法os.path只用与处理路径,如果你想创建一个目录,就得用os,而pathlib可以一站式搞定
time库
python中处理时间的最基础的库
time():获取当前时间戳,返回从新纪元到访问时的秒数
localtime(sec):返回sec到新纪元结构化时间,参数为时间戳,默认为本地时间
gmtime(sec):默认为世界时间
ctime():返回格式为‘星期 月份 日 时间 年份’
sleep(s):程序休眠,参数为秒
strftime(时间格式控制符,结构化时间):将时间格式输出为字符串
时间格式控制符说明%Y
四位数的年份
%m
月份(1-12)
%d
月份的一天(1-31)
%B
本地完整的月份名称,如January
%b
本地简化的月份名称,如Jan
%a
本地简化的周日期,如Mon-Sunday
%A
本地完整周日期
%H
24小时制小时数(0-23)
%I
12小时制小时数(1-12)
%p
上下午,曲志伟AM或PM
%M
分钟数(0-59)
%S
秒(0-59)
%j
返回当天是当年的第几天[1,366]
%U
返回当周是当年的第几周,以周日为第一天
%W
返回当周是当年的第几周,以周一为第一天
%w
当天在当周的天数[1-7]
%x
日期的字符串表示:03/08/15
%X
时间的字符串表示:23:22:08
%c
返回跟ctime()一样
re模块
re模块是python独有的匹配字符串的模块,但是很多功能是基于正则表达式实现的,所以re模块多用于正则匹配
re.I
忽略大小写
re.L
让\w,\W,\b,\B和区分大小写的匹配取决于当前的语言环境。该标志只能与字节模式一起使用。不建议使用此标志,因为语言环境机制非常不可靠,它一次只能处理一种“区域性”,并且仅适用于8位语言环境。默认情况下,Python 3中已为Unicode(str)模式启用了Unicode匹配,并且能够处理不同的语言环境/语言。
re.M
多行模式
re.S
使'.'特殊字符与任何字符都匹配,包括换行符;没有此标志,'.'将匹配除换行符以外的任何内容。(单行匹配)
常用方法
re.compile(pattern,flags=0)
将正则表达式模式编译为正则表达式对象,可使用match、search等方法进行匹配
re.search(pattern,string,flags)
扫描字符串以查找正则表达模式产生匹配项的第一个位置,然后返回match对象.
re.match(pattern,string,flags=0)
如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回相应的匹配对象。
re.findall(pattern,string,flags=0)
在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。注意**:** match 和 search 是匹配一次 findall 匹配所有。
re.finditer()
和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。
re.sub(pattern,repl,string,count=0,flags=0)
sub是substitute的所写,表示替换,将匹配到的数据进⾏替换。
参数描述pattern
必选,表示正则中的模式字符串
repl
必选,要替换的字符串,也可以为一个函数
string
必选,被替换的字符串
count
可选,要替换的最大次数,如果省略或为0,则全部被替换
flag
标志位
re.subn()
跟sub函数系统,但是返回一个元组
random随机数模块
seed(int)
生成一个随机数种子,用于同步不同运行环境的随机数
当产生随机数种子相同时,可以预测要生成的随机数
random()
生成一个[0,1)数字
uniform()
生成一个a,b区间的随机数
randrange(start,stop[,step])
整数随机,等同于choice(range(start,stop,step))
randint()
返回一个[a,b]的整数
choice()
返回对象中的一个随机元素
shuffle()
打乱序列
最后更新于