1.小练习题(之前知识点练习)
# 把双数日期的日志,里面给随便写点东西。
# 1、获取到log目录下面的所有文件 os.walk()
# 2、根据文件名来判断,是否是双数日期 ,分割字符串,取到日期
# 3、12%2==0
# 4、打开这个文件 open()
import os
for abs_path,dir,file in os.walk(r'E:\syz\ly-code\day6\logs'):
for f in file: #空文件【】不循环 不用管
day = f.split('.')[0].split('-')[-1]
if int(day)%2==0:
file_name = os.path.join(abs_path,f)#拼接绝对路径 便于打开 否则会在当前路径建立多余文件
open(file_name,'a+',encoding='utf-8').write('写东西')#并没有付给f(f = open XXX) 所以使用完以后 就自动关闭。
**2.时间模块
import time
#1、时间戳 从unix元年到现在过了多少秒
#2、格式化好的时间
时间戳和格式化时间转化(通过时间元组)
#先转成时间元组
# print(time.time()) #获取当前时间戳
# time.sleep(10) #等待时间10s
today = time.strftime('%Y%m%d%H%M%S') #获取格式化好的时间 格式可自己制定
# print(today)
# print(time.gmtime()) #默认取的是标准时区的时间
s=time.localtime(1514198608) #取到的是当前时区的时间 参数不填默认当前 s 获得时间元组
# print(time.strftime('%Y-%m-%d %H:%M:%S',s)) #时间元组转为格式化时间
#时间戳转换时间元组步骤
# 1、时间戳转成时间元组 time.localtime()
# 2、再把时间元组转成格式化的时间
将该功能定义为函数:
def timestamp_to_fomat(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
#1、默认返回当前格式化好的时间
#2、传入时间戳的话,把时间戳转换成格式化好的时间,返回
if timestamp:
time_tuple = time.localtime(timestamp)
res = time.strftime(format,time_tuple)
else:
res = time.strftime(format) #默认取当前时间格式
return res
# 2018-4-21转化为时间戳
# tp = time.strptime('2018-4-21','%Y-%m-%d') #把格式化好的时间转成时间元组的
# print(time.mktime(tp)) #把时间元组转成时间戳
def strToTimestamp(str=None,format='%Y%m%d%H%M%S'):
# 20180421165643(例子)
#默认返回当前时间戳
if str: #如果传了时间的话
tp = time.strptime(str,format) #格式化好的时间,转成时间元组
res = time.mktime(tp)#再转成时间戳
else:
res = time.time() #默认取当前的时间戳
return int(res)
4.datatime模块(方便处理几天前后时间)
import datetime
print(datetime.datetime.today()) #获取当前时间,精确到秒
print(datetime.date.today()) #精确到天
res = datetime.datetime.today()+datetime.timedelta(days=1,minutes=5,seconds=5,weeks=5) #获取几天后的时间负数是几天前 没有年相关的
print(res.strftime('%Y-%m-%d'))