- os
- sys
- re
- time
- datetime
- random
- shutil
- Subprocess
os模块
os.path下方法
- 最后访问时间
- 最后权限修改时间
- 最后内容修改时间
没有小括号
sys模块
re模块
re模块的函数介绍
- list形式 返回
正则表达式符号含义
- ǰ的字符0次或多次
- ǰ一个字符1次或多次
- ǰ一个字符0次或1次
- 匹配ǰ一个字符至少m次
- 分组还可以细分,普通分组,命名分组,后向引用,前向肯定断言,后向肯定断言,前向否定断言、后向否定断言
- 普通分组,则是通过1,2.....来获取匹配到信息,如re.search(r"(abc)","abcdefg").group(1)
- 命名分组,则是通过给分组命名来获取匹配到的信息,如
(?P<name>正则表达式),这里的命名就是name,通过groupdict("name")函数获取捕获值
- 其他用的不多
- \d和\D,\w和\W,\s和\S每一对都是对方的补集,一起可以组成全部的字符
time模块
- 在time模块中有3中标示时间的方式:1.时间戳,2.格式化的时间字符串,3.元祖(struct_time,有9个元素)
- UTC(Coordinated Universal Time,协调世界时),世界标准时间,中国是UTC+8;DST(Daylight Saving Time)夏令时
- 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日0:00:00开始按秒计算的量
- 元祖(struct_time)有9个元素,tm_year:年份,tm_mon:月,tm_mday:日期,tm_hour:小时,tm_min:分钟,tm_sec:秒,tm_wday:星期中的第几天(周一用0表示),tm_yday:一年中的第几天,tm_isdst:是否为夏令时
函数介绍
time中各种类型时间的转换,引用:https://blog.51cto.com/egon09/1840425
- utc的时间;如果传递参数,则为从1970年1月1日0:00:00经过timestamp时间后的utc时间
- 本地的时间;如果传递参数,则为从1970年1月1日0:00:00经过timestamp时间后的本地时间
- %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 本地相应的日期表示和时间表示,返回和time.ctime一样
- %j 年内的一天(001-366)
- %p 本地A.M.或P.M.的等价符
- %U 一年中的星期数(00-53)星期天为星期的开始
- %w 星期(0-6),星期天为星期的开始
- %W 一年中的星期数(00-53)星期一为星期的开始
- %x 本地相应的日期表示
- %X 本地相应的时间表示
- %Z 当前时区的名称 # 乱码
- %% %号本身
datetime模块
日期的函数还有calendar(日历)模块,详细见:https://docs.python.org/3/library/calendar.html
random模块
shutil模块shutil
高级的文件,文件夹处理
- 文件句柄(即open后的文件句柄)
- 文件名称(调用copyfilebj来实现的)
subprocess模块
直接运行推荐使用run方法,如果使用更高级的可以直接使用Popen接口;如果想得到程序运行结果,推荐使用getstatusoutput(cmd)
-
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None)
- args:标示要执行的命令,必须是一个字符串,字符串参数需要是列表形式,如果shell参数这只为true,那么可以将参数和命令放到一个字符串中,因为它是通过系统的shell执行
- 比如:如果有参数,必须是["ls","-al"],没有参数可以写"ls";如果shell为True,可以写成“ls -a”
- stdin、stdout 和 stderr:子进程的标准输入、输出和错误。其值可以是 subprocess.PIPE、subprocess.DEVNULL、一个已经存在的文件描述符、已经打开的文件对象或者 None。subprocess.PIPE 表示为子进程创建新的管道。subprocess.DEVNULL 表示使用 os.devnull。默认使用的是 None,表示什么都不做。另外,stderr 可以合并到 stdout 里一起输出。
- timeout:设置命令超时时间。如果命令执行时间超时,子进程将被杀死,并弹出 TimeoutExpired 异常。
- check:如果该参数设置为 True,并且进程退出状态码不是 0,则弹 出 CalledProcessError 异常。
- encoding: 如果指定了该参数,则 stdin、stdout 和 stderr 可以接收字符串数据,并以该编码方式编码。否则只接收 bytes 类型的数据。
- shell:如果该参数为 True,将通过操作系统的 shell 执行指定的命令。
- args:标示要执行的命令,必须是一个字符串,字符串参数需要是列表形式,如果shell参数这只为true,那么可以将参数和命令放到一个字符串中,因为它是通过系统的shell执行
剩余部分请参考:python内置模块介绍(二)