time模块 datetime模块 random模块

发布时间 2023-06-09 21:08:29作者: Meeeoww

time模块

和时间有关系的我们就要用到时间模块
时间的三种方式:
1. 时间戳
2. 结构化时间
3. 格式化时间

  • 格式化时间
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
import time
res=time.strftime('%y-%m-%d')
print(res) >>23-03-09
res=time.strftime('%Y-%m-%d')
print(res) >>2023-03-09
res=time.strftime('%Y-%m-%d %H:%M:%S')
print(res)>>>2023-03-09 19:27:39
res=time.strftime('%y-%m-%d %X')#%X本地相应时间
print(res)>>23-03-09 19:28:36
res=time.strftime('%x')
print(res)>>03/09/23%X本地相应日期
  • 结构化时间
import time
res =time.localtime()
print(res)
#time.struct_time(tm_year=2023, tm_mon=3, tm_mday=9, tm_hour=19, tm_min=39, tm_sec=14, tm_wday=3, tm_yday=68, tm_isdst=0)
#可以通过属性访问struct_time对象中的各个字段
print(res.tm_year)#2023
print(res[0])#2023#还可以按索引取值

datetime模块

"""
datetime:年月日 时分秒   date:年月日   time:时分秒
"""
import datetime
res=datetime.datetime.now()
print(res) 2023-03-09 20:06:34.901433
res=datetime.date.today()
print(res)>>2023-03-09

res=datetime.date.today()
print(res.year)>>2023
print(res.month)>>3
print(res.weekday())>>3# 获取星期(weekday星期是0-6) 0表示周一
print(res.isoweekday())>>4 # 获取星期(weekday星期是1-7) 1表示周一


#timedelta对象 可以对时间进行运算操作
current_time = datetime.datetime.now()
t_time =datetime.timedelta(days=3)
print(current_time + t_time) #当前时间+时间差值
>>>2023-03-12 20:23:04.603225

current_time = datetime.datetime.now()
 t_time = datetime.timedelta(days=10, hours=11, minutes=50)
print(current_time + t_time)
>>2023-03-20 08:14:54.016326

current_time = datetime.datetime.now()
print(current_time - datetime.date(2019, 12, 21))  #格式不一样不能加减

random模块

import random
print(random.random()) >>0.9725397375756607#随机返回0-1的随机数
print(random.randint(1,5))>>5#随机返回括号内参数之间的整数
print(random.uniform(1,5))>>1.5572903769445623#随机返回括号内参数之间的小数
print(random.randrange(2,8))>>4#随机返回括号内参数之间的整数,顾头不顾尾
print(random.randrange(2,6,2))>>2#随机返回括号第1第2个参数之间步长为第3个参数的整数,顾头不顾尾
print(random.choice(['1等奖', '2等奖', '3等奖', '4等奖']))>>4等奖#随机返回1个列表内元素
print(random.sample(['1等奖', '2等奖', '3等奖', '4等奖'],2))>>['1等奖', '2等奖']#随机返回2个列表内元素
l=[2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A']
random.shuffle(l)
print(l)>>['Q', 9, 'K', 5, 8, 6, 4, 10, 2, 3, 'A', 7, 'J']#打乱顺序并全部返回
def get_code(n):
    code = '' # 存储生成的随机验证码

    for i in range(n):
        # 1. 产生0-9之间的任意一个数据
        random_int = str(random.randint(0, 9))

        # 2. 产生大写字母
        random_upper = chr(random.randint(65, 90)) # A-Z

        # 3. 产生小写字母
        random_lower = chr(random.randint(97, 122)) # a-z

        # 4. 要从以上三种情况中随机选出一个字符来
        temp = random.choice([random_int, random_lower, random_upper])
        # print(temp,end='')
        code += temp # 将temp添加到get_code字符串末尾
    return code
# res=get_code(6)
res=get_code(4)
print(res)

sys模块

sys模块是与python解释器交互的一个接口

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0),错误退出sys.exit(1)
sys.version        获取Python解释程序的版本信息
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform  	   获取操作系统的名称

import sys
print(sys.version)#查看解释器版本
print(sys.platform)#查看win系统
print(sys.path)#查看环境变量
print(sys.argv)#查看当前文件绝对路径

os模块