time 模块
from time import *
1)time( ) - 获取当前时间的时间戳
2)localtime( ) - 获取本地的当前时间,返回值是结构体时间
localtime(ti) - 将时间戳转换成本地时间对应的结构
#通过结构体时间获取具体的时间信息
年: print(t1.tm_year)
3)将字符串时间转换成结构体时间
strptime(字符串时间,时间格式)
时间格式 - 包含时间占位符的字符串
%Y - 年
%m - 月
%d - 日
%H - 时(24小时制)
%I - 时(12小时制)
%M - 分
%S - 秒
%a - 星期缩写
%A - 星期全拼
%b - 月份单词缩写
%B - 月份单词全拼
%p - 上午/下午
t2 = ‘2002-3-4’
t3 = strptime(t2,‘%Y-%m-%d’)
4.将结构体时间转换成字符串时间:
t5 = localtime()
result = strftime('%Y/%m/%d %H:%M:%S %p', t5)
print(result)
5)睡眠(等待):sleep(秒)
sleep(xx)
print(‘等待xx秒以后执行命令’)
6)datetime模块
from datetime import datetime,timedelta
1datetime
1)获取当前时间
t1 = datetime.now()
print(t1)
2)通过时间值创建对象
t1 = datetime(2020,8,10)
print(t1)
3)通过时间对象获取时间值
print(t1.year)
4)时间对象转字符串时间
result = t1.strftime(‘%Y年%m月%d日’)
5)strptime - 字符串时间转换时间对象
6)timetuple - 将时间对象转换成结构时间
7)获取两个时间的时间差
t1 = datetime(2022,3,5 , 23,22,1)
t2 = datetime(2021,5,7, 21,2,1)
result = t1 -t2
print(result)
# 基于时间差可以单独获得天数和秒数
print(result.days,result.seconds)
# 302 8400
2 timedelta类
xx年xx月xx日的前xx时间是哪一天?
t2 = datetime(2022,4,27 ,11,38,20)
五天前是什么时间
print(t2 - timedelta(days= 5 ))
10小时以后
print(t2 - timedelta(hours = 10 ))
OS系统
import os
1.获取当前目录 - os.getcwd
os.chdir(文件路径xxx) - 跳转到xxx目录
2.获取指定目录中所有的内容的名字:os.listdir(文件路径)
路径的写法:
1)绝对路径:文件或者文件夹在计算机中的全路径,如果是win系统,从盘符开始写,如果是苹果系统,从Users开始写
2)相对路径:
前提:你需要使用的文件或者文件夹必须在当前(py文件所在的目录)工程中
a.写路径的时候用.表示当前目录
如果相对路径是’./‘开头的,’/.'可以不写
os.listdir(‘./test’) == os.listdir(‘test’)
b.写路径的时候用…表示当前目录的上层目录
3.创建文件夹
1)os.mkdir(文件夹路径) - 在指定位置创建指定文件夹(只能但键一层文件加.\a)
2)os.makeddirs(文件夹路径) - 递归创建文件夹,在指定位置创建指定文件夹(可以同时建立多层目录.\a\b\c)
4)os.path.join(./) - 拼接路径
result = os.path.join(‘./files’,‘test’,‘a.txt’)
5)os.path.split(路径) - 切割路径
文件操作
1.数据持久化 - 指的是以文件单位将数据保存在硬盘中.
将数据保存在硬盘里面,数据会一直存在,直到主动删除或者磁盘损坏
两个问题
1.怎么将程序中的数据保存到文件中
2.怎么将文件中的数据拿到程序中使用
2.文件操作
文件操作基本流程:
第一步:打开文件
第二步:操作文件(增删读写操作)
第三步:关闭文件
1)打开文件
open(file(路径),mode=“r”,‘*’,encoding=None)
file - 打开文件的路径
mode - 文件打开的方式
r - 只读
w - 只写,覆盖
a - 只写,续写
注意:以只读方式打开不存在的文件会报错,只写的方式打开不存在的文件不会报错,并且会自动创建一个新文件
第二组:决定操作数据的类型 - 是字符串(str)还是二进制(bytes)
t - 读写的数据类型必须是字符串(不选,默认就是t)
b - 读写的数据的类型必须是二进制
赋值方式:每组值只能选一个,第一组必须选,第二组可以不选,不选就相当于选t,例如Lrt,tr,w.wb.ab
注意:二进制文件(图片,视频,音频,zip,pdf等)必须以b方式打开,文本文件t和b都可以
2)文件操作
a.读操作 - 文件对象.read()
b.写操作 - 文件对象.wride()
3)关闭文件
文件操作完成后,需要关闭文件
文件对象.close()
# 练习:写入一个程序统计当前程序运行的次数
# 第1次运行程序:打印1
# 第2次运行程序:打印2
# ....