###################################################
# 7.压缩模块 zipfile
import zipfile,os
# 压缩文件 操作
# with zipfile.ZipFile('spam1.zip', 'w') as myzip:
# myzip.write('data.json')
# myzip.write('data.txt')
# myzip.write('data2.txt')
# 解压缩文件
# with zipfile.ZipFile('spam.zip', 'r') as myzip:
# myzip.extractall('./')
# 如果压缩当前文件夹中的所有文件?
# with zipfile.ZipFile('spam.zip', 'w',zipfile.ZIP_DEFLATED) as myzip:
# # 获取当前目录中所有的项
# arr = os.listdir('./')
# for i in arr:
# myzip.write(i)
# # 使用shutil模块进行归档压缩
# import shutil
# # 参数1 创建的压缩文件名称,参数2,指定的压缩格式,zip,tar 参数3 要压缩的文件或文件夹路径
# shutil.make_archive('a','zip','./')
###################################################
# 8.时间模块 time
import time
'''
概念:
1。 时间戳: 1574905882.6581771 表示从1970年1月1日0时0分0秒到现在的一个秒数,目前可以计算到2038年
2。 时间字符串: Thu Nov 28 09:54:08 2019
3。 时间元组: time.struct_time(tm_year=2019, tm_mon=11, tm_mday=28, tm_hour=9, tm_min=55, tm_sec=32, tm_wday=3, tm_yday=332, tm_isdst=0)
'''
# *** 1. 获取当前系统的时间戳
res = time.time()
# 2. 获取当前系统时间,时间字符串
res = time.ctime()
# 3. 获取当前系统时间, 时间元组
res = time.localtime()
# 4. 以上时间字符串和时间元组可以通过指定的时间戳来获取
t = 1564000082.6581771
res = time.ctime(t)
res = time.localtime()
# 5. 使用localtime方法获取的时间元组,如何格式化成为 xxxx年xx月xx日 时:分:秒 星期几
# print(f'{res.tm_year}年{res.tm_mon}月{res.tm_mday}日 {res.tm_hour}:{res.tm_min}:{res.tm_sec} 星期{res.tm_wday+1}')
# *** 6. strftime() 格式化时间 年-月-日 时:分:秒 星期几
res = time.strftime('%Y-%m-%d %H:%M:%S %w')
# *** 7。 sleep(秒) 在给定的秒数内暂停调用线程的执行。该参数可以是浮点数,以指示更精确的睡眠时间。
# print(time.strftime('%Y-%m-%d %H:%M:%S %w'))
# time.sleep(3)
# print(time.strftime('%Y-%m-%d %H:%M:%S %w'))
# 、计算程序的运行时间
# time.perf_counter()
# 100万次的字符串比较 需要执行的时间
start = time.perf_counter()
for i in range(1000000):
if 'abc' > 'acd':
pass
end = time.perf_counter()
print(end-start) # 0.14171751
#
start = time.perf_counter()
for i in range(1000000):
if 103 > 100 :
pass
end = time.perf_counter()
print(end-start) # 0.164985942
###################################################
# 9.calendar 日历模块
import calendar
# 返回指定年份和月份的数据,月份的第一天是周几,和月份中的天数。
# calendar.monthrange(年,月)
def showdate(year,month):
res = calendar.monthrange(year,month)
days = res[1] # 当前月份的天数
w = res[0]+1 # 当前月份第一天周几信息
print(f'====={year}年{month}月的日历信息=====')
print(' 一 二 三 四 五 六 日 ')
print('*'*28)
# 实现日历信息的输出
d = 1
while d <= days:
# 循环周
for i in range(1,8):
# 判断是否输出
if d > days or (i < w and d == 1):
print(' '*4,end="")
else:
print(' {:0>2d} '.format(d),end="")
d+=1
print()
print('*'*28)
showdate(2019,12)
Python入门学习笔记——13.内置模块3
最新推荐文章于 2025-02-15 23:41:39 发布