python基础day22 time和re模块

time模块(跟时间打交道的模块)

表示时间的三种方式

1. 时间戳:1970年1月1日到现在的秒数

2. 格式化的时间字符串:2023-01-01 11:11:11

3. 结构化时间:它是让计算机看的

 

导入time模块

impore time

time.time()  # 时间戳
time.sleep(3)  # 睡眠3秒

python中时间日期格式化符号

%y 两位数的年份表示(00-99%Y 四位数的年份表示 (0000-9999%m 月份 (01-12%d 月内的一天 (01-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 当前时区的名称
%% %号本身

结构化时间

# time.struct_time(tm_year=2023, tm_mon=6, tm_mday=9, tm_hour=10, tm_min=21, tm_sec=48, tm_wday=4, tm_yday=160, tm_isdst=0)
res=time.localtime() #
print(res)
print(res.tm_year, res[0])
print(res.tm_mon, res[1])
print(res.tm_mday, res[2])
print(res.tm_hour, res[3])
print(res.tm_min)
print(res.tm_sec)
print(res.tm_wday)
print(res.tm_yday)

timestamp:时间戳
struct_time:结构化时间
format_string:格式化时间

时间戳-->结构化时间

#time.gmtime(时间戳)    #UTC时间,与英国伦敦当地时间一致
#time.localtime(时间戳) #当地时间。例如我们现在在北京执行这个方法:与UTC时间相差8小时,UTC时间+8小时 = 北京时间 
>>>time.gmtime(1500000000)
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)

>>>time.localtime(1500000000)
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)

#结构化时间-->时间戳 
#time.mktime(结构化时间)
>>>time_tuple = time.localtime(1500000000)
>>>time.mktime(time_tuple)
1500000000.0

datetime模块

# 定义操作时间 day=7 也就是可以对另一个时间对象加7天或者减少7点
# tdelta = datetime.timedelta(days=7,hours=10,minutes=20)
# tdelta = datetime.timedelta(minutes=20,seconds=10)
# tdelta = datetime.timedelta(weeks=3)
tdelta = datetime.timedelta(days=7, hours=10)
tday = datetime.datetime.today()


print("7天之后的日期是:%s" % (tday + tdelta))
print("7天之后的日期是:%s" % (tday - tdelta))

"""
日期对象 = 日期对象 +/- timedelta对象
timedelta对象 = 日期对象 +/- 日期对象
"""

birthday = datetime.date(2023, 12, 21)
now_date = datetime.date.today()

days = birthday - now_date
# days =  now_date - birthday
print(days)


dt_today = datetime.datetime.today()
dt_now = datetime.datetime.now() # 2023-06-09 11:29:59.405265
dt_utcnow = datetime.datetime.utcnow()  # UTC时间与我们的北京时间cha ju
print(dt_now)
print(dt_utcnow)

random模块

import random

print(random.random())  # 生成一个0-1之间的随机数
print(random.uniform(1, 10))  # 大于1小于3的小数
print(random.randint(1, 5))  # 大于等于1且小于等于5之间的整数
print(random.randrange(1, 10, 2))  # 大于等于1且小于10之间的奇数
print(random.choice([1, '23', [4, 5], 4, 5, 6]))  # #1或者23或者[4,5]
print(random.choice(['一等奖', '二等奖', '三等奖']))  # #1或者23或者[4,5]
# 抽奖助手
print(random.sample([1, '23', [4, 5]], 3))  # #列表元素任意2个组合
item = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', ]
res = random.shuffle(item)
print(res)
print(item)

"""生成随机验证码:生成5位的随机验证码,其中,包括数字,大写字母,小写字母的组合"""
def get_code(n):
    code = ''  # 定一个一个空字符串
    for i in range(n):
        # 随机生成一个数字
        random_int = str(random.randint(0, 9))

        # 随机生成一个大写字母
        random_upper = chr(random.randint(65, 90)) # A-Z

        # 随机生成一个小写字母
        random_lower = chr(random.randint(97, 122)) # a-z

        # 随机出来一个数字或者字母
        code += random.choice([random_int, random_upper, random_lower])
    return code

res=get_code(5)
res=get_code(6)
print(res)

sys模块

cmd.exe
powershell.exe
import sys

# print(sys.path)
print(sys.argv)  # ['D:/python26/day22/04 sys模块.py']

# python36 a.py

print(sys.argv[1])
print(sys.argv[2])
print(sys.argv[3])

try:
    res=sys.argv[2]
except Exception:
    pass

 

posted @ 2023-06-09 15:01  吼尼尼痛  阅读(29)  评论(0编辑  收藏  举报