__name__
__file__
__all__
封装了获取时间戳和字符串形式的时间的一些方法。
获取时间戳
# 获取时间戳
# 时间戳:从时间元年(1970 1 1 00:00:00)到现在经过的秒数。
print(time.time()) # 1593496948.0449526。
获取格式化事件对象:由九个字段组成的。
# 获取格式化事件对象:由九个字段组成的。
# 默认参数是当前系统时间的时间戳。
print(time.gmtime()) # GMT:格林尼治时间
# time.struct_time(tm_year=2020, tm_mon=6, tm_mday=30, tm_hour=6, tm_min=13, tm_sec=22, tm_wday=1, tm_yday=182, tm_isdst=0)
print(time.localtime()) # 当地时间
# time.struct_time(tm_year=2020, tm_mon=6, tm_mday=30, tm_hour=14, tm_min=17, tm_sec=0, tm_wday=1, tm_yday=182, tm_isdst=0)
print(time.gmtime(1)) # 时间元年过一秒后,对应的时间对象
# time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=0)
时间对象 --> 时间戳
# 时间对象 --> 时间戳
print(time.mktime(time.localtime()))
格式化事件对象和字符串之间的转换
# 格式化事件对象和字符串之间的转换
s = time.strftime("%Y %m %d %H:%M:%S",)
print(s) # 2020 06 30 14:25:23
把时间字符串转换成时间对象
# 把时间字符串转换成时间对象
s = time.strptime("2010 10 10","%Y %m %d")
print(s)
# 暂停当前程序,睡眠xxx秒
# time.sleep(xxx)
for i in range(5):
print(time.strftime(‘%Y-%m-%d %H:%M:%S‘))
# 休眠2秒
time.sleep(2)
# 2020-06-30 15:00:49
# 2020-06-30 15:00:51
# 2020-06-30 15:00:53
# 2020-06-30 15:00:55
# 2020-06-30 15:00:57
# date类:
d = datetime.date(2010,10,10)
print(d) # 2010-10-10
# 获取date对象的各个属性
print(d.year)
print(d.month)
print(d.day)
# time类:
t = datetime.time(15,8,50)
print(t)
# 获取time对象的各个属性
print(t.hour)
print(t.minute)
print(t.second)
# datetime
dt = datetime.datetime(2020,6,30,15,30,50)
print(dt) # 2020-06-30 15:30:50
# datetime中的类,主要用于数学计算。
# timedelta:时间的变化量
td1 = datetime.timedelta(days=1)
print(td1) # 1 day, 0:00:00
# 参与数学运算
# 创建时间对象:
# 只能和date,datetime,timedelta进行计算
d1 = datetime.date(2010,10,10)
res1 = d1 + td1
print(res1) # 2010-10-11
# 时间变化量的计算是否会产生进位?
t2 = datetime.datetime(2010,10,10,10,10,59)
td2 = datetime.timedelta(seconds=3)
res2 = t2 + td2
print(res2) # 2010-10-10 10:11:02
# 练习:计算某一年的二月份有多少天。
# 普通算法:根据年份计算是否是闰年,是:29,否:28
# 用datetime模块。
# 首先创建出指定的年份的3月1号,然后让他往前走一天。
year = int(input(‘输入年份:‘))
# 创建指定年份的date对象
d = datetime.date(year,3,1)
# 创建一天 的时间段
td = datetime.timedelta(days=1)
res = d -td
print(res.day)
import os
# 和文件操作相关,重命名,删除
# os.remove(‘a.txt‘)
# os.rename(‘a.txt‘,‘b.txt‘)
# 删目录,必须是空目录才能删
# os.removedirs(‘aa‘)
# 使用shutil模块,可以删除带内容的目录
# import shutil
# shutil.rmtree(‘aa‘)
os.path.dirname()
# 当前路径的父路径
res = os.path.dirname(r‘d:/aaa/bbb/ccc/a.txt‘) # 不判断路径是否存在
print(res) # d:/aaa/bbb/ccc
os.path.basename()
# # 获取文件名
res = os.path.basename(r‘d:/aaa/bbb/ccc/a.txt‘)
print(res) # a.txt
os.path.split()
# 把路径中的路径名和文件名切分开,结果是元祖。
res = os.path.split(r‘d:/aaa/bbb/ccc/a.txt‘)
print(res) # (‘d:/aaa/bbb/ccc‘, ‘a.txt‘)
os.path.join()
# 路径拼接
# path = os.path.join(‘d:\\‘,‘aaa‘,‘bbb‘,‘ccc‘,‘a.txt‘)
# print(path) # d:\aaa\bbb\ccc\a.txt
os.path.abspath()
# 如果是/开头的路径,默认是在当前盘符下。
res1 = os.path.abspath(r‘/a/b/c‘)
print(res1) # E:\a\b\c
# 如果不是以/开头,默认当前路径
res2 = os.path.abspath(r‘a/b/c‘)
print(res2) # E:\pycharm\Python世界\从0开始学Python\day15\a\b\c
os.path.isabs()
# 判断是不是绝对路径
print(os.path.isabs(‘d:/a.txt‘)) # True
print(os.path.isabs(‘a.txt‘)) # False
os.path.isdir()
# 判断是不是目录,去找,不存在为False
print(os.path.isdir())
os.path.exists()
# 判断是否存在
print(os.path.exists())
os.path.isfile()
# 判断是不是文件,没有False
print(os.path.isfile())
Python之第二十五天的努力--time、datetime、os模块
原文:https://www.cnblogs.com/szheng/p/13216081.html