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的比较

  1. 当需要找多个层级的目录路径时,通过os.path需要嵌套写法,而``pathlib`可以提供链式写法

  2. 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标志位
作用

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()

    打乱序列

最后更新于