1.时间转换
time.time()时间戳
time.gmtime():时间元组(UTC)
time.localtime() :本地时间元组 (UTC+8)
time.strftime(‘%Y’,时间元组):时间元组转成字符串
time.strptime(‘日期时间’, ‘%Y’):把日期时间字符转成时间元组
stat = os.stat(path):返回 stat_result文件信息(st_atime, st_ctime, st_mtime)描述文件相关的时间,实际是一个浮点类型的时间戳
时间戳 转成 时间元组:
atime = time.localtime(stat.st_atime) :时间戳的秒数转成时间元组
time.strftime(‘%Y-%m-%d’, atime):将访问时间元组转成 2017-10-12
时间日期相关的模块:
datetime( date, time, datetime):
datetime.datetime.today() :返回 datetime类对象
calendar日历
day09天 默写内容:
1.写出 open()函数打开文件时可以指定的 mode,每种mode表示的含义
open()默认的打开mode方式: rt
r:只读
r+:读写,文件不存在则抛出异常
r+b:读写二进制文件,不能设置encoding, errors
w:只写,文件不存在,则创建,存在,则覆盖
w+:读写
w+b:读写二进制,
a:只写,追加(写到文件末尾)
a+:读写, 追加
a+b:读写二进制, 追加, 文件不存在,会创建
rt:只读文本,其它模式中,t是默认,除非使用了 b
2.写出 time.strftime()函数中支持的日期格式,如%Y
%Y : 4位年, %y: 2位年
%m:
%d
%H 24小时, %I 12小时, %p AM|PM
%M
%S
%x %X
%c
3.给出一个时间戳 19999191.992 ,写出转成 ‘yyyy-mm-dd’的格式的代码
提示:time.localtime([secs])将时间戳的秒数转成时间元组
s = 19999191.992# time.time()
t = time.localtime(19999191.992)
st = time.strftime(‘%Y-%m-%d’, t) #将时间元组转成字符串
注: 回调函数在调用方定义, 在调用第三方函数时,
直接将回调函数的名字传给第三方函数,
在第三方函数内部,等数据或功能完成后,再通过回调函数的名字,来执行回调函数
作业练习:
1.定义一个装饰函数,实现对被装饰函数的参数值范围进行判断,
如果超出了 1000的范围,则打印警告。
addSalary(10000)
addSalary(500)
2.定义一个装饰函数,监测查询函数(自定义)中是否包含 id属性,
如果不包含,则打印警告。
queryStu(name=‘disen’)
queryStu(id=‘101’)
3.定义函数,实现生成 n个 点坐标(x , y),每生成10个点后,
调用回调函数 并将生成 10个点 和 开始生成10个点的时间戳, 在回调函数中 将 10个点和时间信息写入到 pots.dat文件中。
要求: 时间要转成yyyy-mm-dd hh:mm:ss格式,
每一次信息都在同一行
文件模式: ‘a+b’
# coding:utf-8
#定义一个装饰函数,实现对被装饰函数的参数值范围进行判断,如果超出了 1000的范围,则打印警告。
def salary(fn):
def wrapper(*args, **kwargs):
if args[0] < 1000:
print('补贴发放成功')
else:
print('补贴发放异常,请核查')
result = fn(*args, **kwargs)
return result
return wrapper
@salary
def num_(n):
print('发放补贴为{0}元'.format(n))
num_(500)