函数使用(六)
shutil
-
拷贝普通文件
1
2
3
4
5
6# 拷贝普通文件
import shutil
shutil.copy('123.py', 'test.py')
shutil.copy('123.py', 'c')
shutil.copy('123.py', 'c/test.py')
-
拷贝目录文件
1
2# 拷贝目录文件
shutil.copytree('c', 'd') -
移动文件,可以是目录文件
1
2
3# 移动文件,可以是目录文件
shutil.move('123.py', '456.py')
shutil.move('c', 'd') -
删除目录
1
2# 删除目录,当目录中有其它文件或目录时也可以删除
shutil.rmtree('d')
-
sleep
休眠指定的秒数(可以是小数)
1
2
3import time
time.sleep(0.5) -
time
返回当前时间的时间戳,从1970-01-01 00:00:00到此刻的秒数
1
2
3
4import time
# 返回当前时间的时间戳,从1970-01-01 00:00:00到此刻的秒数
print(time.time()) # 1637027810.5877886 -
localtime
将一个时间戳转换为
time.struct_time
类型的对象(类似于元组)1
2
3
4
5
6
7
8
9
10
11
12import time
# 将一个时间戳转换为一个类似于元组的对象,不指定时间戳转换当前时间
locals_time = time.localtime()
# time.struct_time(tm_year=2021, tm_mon=11, tm_mday=16, tm_hour=10, tm_min=1, tm_sec=29, tm_wday=1, tm_yday=320, tm_isdst=0)
# 年、月、日、时、分、秒、星期(0-6)、今年的第几天、夏令时
print(locals_time)
# 可以通过下标获取元素
print(locals_time[0]) # 2021
# 也可以通过名称(对象的成员属性)
print(locals_time.tm_year) # 2021
print(type(locals_time)) # <class 'time.struct_time'> -
mktime
根据一个元组形式的时间生成一个时间戳
1
2
3
4
5
6
7import time
# 将元组形式的时间转换为时间戳
new_time1 = time.mktime(time.localtime())
new_time2 = time.mktime((2019, 3, 26, 15, 38, 25, 1, 85, 0))
print(new_time1) # 1637028698.0
print(new_time2) # 1553585905.0 -
strftime
将一个元组形式的时间格式化为字符串,不传时间默认转换当前时间
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22import time
# 时间格式化显示
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())) # 2021-11-16 10:30:27
print(time.strftime('%Y-%m-%d %H:%M:%S')) # 2021-11-16 10:30:27
print(time.strftime('%Y-%m-%d')) # 2021-11-16
print(time.strftime('%H:%M:%S')) # 10:30:27
print(time.strftime('%D')) # 11/16/21
'''
%Y:2018 年(4位)
%y:18 年(2位)
%m:月
%d:日
%D:03/26/19
%H:时(24小时制)
%I:时(12小时制)
%M:分
%S:秒
%w:星期(1-7)
%W:本周是今年的第几周
''' -
gmtime
将一个时间戳转换为元组形式,不传默认转换当前时间
1
2
3
4
5
6import time
# 将一个时间戳转换为元组形式
gm_time = time.gmtime()
# time.struct_time(tm_year=2021, tm_mon=11, tm_mday=16, tm_hour=2, tm_min=40, tm_sec=44, tm_wday=1, tm_yday=320, tm_isdst=0)
print(gm_time) -
asctime
1
2
3
4
5import time
# 将一个元组形式的时间转换为标准格式时间,不传参数转换当前时间
print(time.asctime()) # Tue Nov 16 10:42:47 2021
print(time.asctime(time.localtime())) # Tue Nov 16 10:42:47 2021 -
timezone
1
2
3
4import time
# 0时区减去当前时区的秒数
print(time.timezone) # -28800
-
日历
1
2
3
4
5
6
7
8
9
10
11
12
13
14import calendar
# 获取某一年的日历
c = calendar.calendar(2019, w=3, l=1, m=2, c=10)
# print(c)
# 获取指定年指定月的日历
print(calendar.month(2019, 3))
# 判断一个年份是否是闰年
print(calendar.isleap(2008)) # True
# 判断[起始, 结束)之间闰年的个数
print(calendar.leapdays(2000, 2019)) # 5
练习:
1 | 试着学习datetime模块 |