【python】时间处理函数以及文件操作

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

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值