1. 时间函数
模块(库)-使用 流程:先导入,再引用 1:导入 方式一:import 模块名 引用:模块名.函数名() 方式二:from 模块名 import 函数名/变量/类 函数名后面不需要括号 引用:函数名()
time模块 时间戳(秒数的总和) 1970年1月1日之后的秒,即:time.time() 格式化的字符串 2019-11-11 11:11, 即:time.strftime('%Y-%m-%d') 结构化时间 元组包含了:年、日、星期等... time.struct_time 即:time.localtime()
# 方式一:
import time
print('时间戳:',time.time())
print('格式化时间:',time.strftime('%Y-%m-%d %H:%M:%S'))
# 2020/05/21
# 2020-05-21
# 2020年05月21日
# 方式二
from time import time,strftime
print('时间戳:',time())
print('格式化时间:',strftime('%Y-%m-%d %H:%M:%S'))
# 方式三
from time import *
print('时间戳:',time())
print('格式化时间:',strftime('%Y-%m-%d %H:%M:%S'))
print('结构化时间:',localtime())
# time.struct_time(tm_year=2021, tm_mon=5, tm_mday=21,
# tm_hour=20, tm_min=43, tm_sec=48,
# tm_wday=4, tm_yday=141, tm_isdst=0)
# #周五:第4天 每周从周一开始计时,从0开始
# 分别获取当天日期中的年、月、日
print('结构化时间-年:',localtime().tm_year)
print('结构化时间-月:',localtime().tm_mon)
print('结构化时间-日:',localtime().tm_mday)
2. 时间转换函数
strftime()/asctime():结构化时间-格式化字符串时间 mktime():结构化时间-时间戳 localtime()/gmtime():时间戳-结构化时间 ctime():时间戳-格式化字符串时间 strpftime():格式化字符串时间-结构化时间
import time #快速导包:鼠标放在导入的模块上,alt+enter --选择需要的模块
# 时间戳
t1 = time.time()
# 字符串
t2 = time.strftime('%Y-%m-%d %H:%M:%S')
print(t2)
# 结构化时间
t3 = time.localtime()
print('结构化时间-格式化字符串时间',t3,'\n',time.strftime('%m-%d-%Y',t3)) #ctrl+d快速赋值一行代码
print('结构化时间-格式化字符串时间',t3,'\n',time.asctime(t3))
print('结构化时间-时间戳',t3,'\n',time.mktime(t3))
print('时间戳-格式化',t1,'\n',time.ctime(t1))
3. 文件操作
对于file文件的使用流程: 步骤:打开文件--读或者写--关闭文件 打开文件:f=open(文件名,模式) 写:f.write(写入的文本内容) 读:f.read([字符数量]) f.readline() f.readlines() 关闭文件:f.close() file = open('t2.txt') 电脑上打开文件 只读模式 --》 只能阅读,不能修改(删除,增加,修改) --r 正常模式 --》读,修改 -- w ,a 1-w模式,写入(覆盖写) w:表示打开一个文件只用于写入。 如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。 如果该文件不存在,创建新文件,并从开头开始编辑。 wirte():写入文本内容的方法 w+模式下 其实和w模式一样,把文件清空后,再写入新的内容。
# 案例1:以写入的方式打开一个不存在的文件,写入数据,关闭文件
file = open('t1.txt','w')
file.write('这是新建的t1.txt文件')
file.close()
# 案例2:以写入的方式打开一个存在的文件,写入新的数据,关闭文件
file = open('t1.txt','w',encoding='utf-8')
file.write('这是写入的新的内容')
file.close()
2-a模式,追加 a:打开一个文件用于追加。 如果该文件已存在,文件指针将会放在文件的结尾,新的内容将会被写入到已有内容之后。 如果该文件不存在,创建新文件,写入新的内容。 wirte():写入文本内容的方法
# 案例1:以写入的方式打开一个不存在的文件,写入数据,关闭文件
file = open('t2.txt','a',encoding='utf-8')
file.write('\n这是新创建的文件,以a的模式增加数据')
file.close()
# 案例2:以写入的方式打开一个存在的文件,要求写入新的数据不会覆盖原来的数据,关闭文件
file = open('t1.txt','a',encoding='utf-8')
file.write('\npython真很强大')
file.close()
3-r模式-读 r:表示以只读方式打开文件,文件的指针将会放在文件的开头。 这是默认模式,r可以省略。 这种模式下不具有写的权限,只能查看文本内容,不能改写文本内容。 read(n):读取指定字节长度的内容 readline():一行一行读取文件内容 readlines():读取文件所有内容,返还到一个列表中
# 案例1:读取t4.txt文件中2个字符的内容
file = open('t4.txt')
res1 = file.read(2) #2个字节长度
print(res1)
print('==========')
res2 = file.read() #所有内容
print(res2)
file.close()
# 案例2:读取t4.txt文件中第一行的内容
file = open('t4.txt')
line1 = file.readline()
print(line1)
print('==========')
line2 = file.readline()
print(line2)
file.close()
# 案例3:读取t4.txt文件中所有的内容
file = open('t4.txt')
all = file.readlines()
print(all)
file.close()
# 循环读取
file = open('t4.txt')
for line in file.readlines():
print(line)
file.close()
4-r+模式-读写 对于读写模式,必须是先读后写,因为光标默认在开头位置,当读完了以后再进行写入。频率最高的模式就是r+ 注意:在r+模式下,如果读取了内容, 不论读取内容多少,光标显示的是多少, 再写入或者操作文件的时候都是在结尾进行的操作。
# 案例1:读取t4.txt文件中所有的内容后再在末尾添加'web自动化测试'
file = open('t4.txt','r+',encoding='utf-8')
# 读
all = file.readlines()
print(all)
# 写
file.write('web自动化测试')
file.close()
# 为什么写入的新的内容不会覆盖原本的数据内容?
# 先读后写,所以光标在文件的最后面,写入的内容不会覆盖之前的内容
file = open('t4.txt','r+',encoding='utf-8')
# 写
file.write('\napp自动化测试\n')
file.close()
# 以r+模式写入,不会覆盖原本的内容,会在原本的内容末尾追加 # 思考:添加新内容后,如果再次读取文件中的所有内容 # 控制光标的移动,file.seek(光标的位置)
file = open('t4.txt','r+',encoding='utf-8')
# 读
all = file.readlines()
print(all)
# 写
file.write('\n测试框架\n')
# 控制光标的移动
file.seek(0)
# 再读
all2 = file.readlines()
print(all2)
file.close()
5-with open 通过使用with open..as...不用手动关闭文件。当执行完内容后,自动关闭文件。 with open(路径,模式) as 变量: 代码块
with open('t4.txt','r+',encoding='utf-8') as file:
print(file.readlines())
file.write('aaaa')