Hzangyao

导航

re模块,time,datetime,random模块

re模块

在Python中要想试用正则表达式,就要借助于re模块

import re

ret = re.findall('a', 'eva egon yuan')  # 返回所有满足匹配条件的结果,放在列表里
print(ret) #结果 : ['a', 'a']

ret = re.search('a', 'eva egon yuan').group()
print(ret) #结果 : 'a'
# 函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象,该对象可以
# 通过调用group()方法得到匹配的字符串,如果字符串没有匹配,则返回None。

ret = re.match('a', 'abc').group()  # 同search,不过尽在字符串开始处进行匹配
print(ret)
#结果 : 'a'

爬去红牛官网数据

with open('redbull.txt', 'r', encoding='utf-8') as f:
    data = f.read()

title_list = re.findall('<h2>(.*?)</h2>', data)
address_list = re.findall("<p class='mapIco'>(.*?)</p>", data)
email_list = re.findall("<p class='mailIco'>(.*?)</p>", data)
phone_list = re.findall("<p class='telIco'>(.*?)</p>", data)

all_list = list(zip(title_list, address_list, email_list, phone_list))

for item in all_list:
    print("""
        公司:%s
        地址:%s
        邮箱:%s
        电话:%s
    """ % (item[0], item[1], item[2], item[3]))

time模块

time.sleep(3)
time.time() # 秒数

'''
	 三种格式:
	 		1. 时间戳
	 		2. 结构化时间
	 		3. 格式化时间
'''

datetime模块

import datetime


# print(datetime.datetime.today())
# print(datetime.datetime.now())
# print(datetime.date.today())
res=datetime.datetime.today()
# print(res.year)
# print(res.month)
# print(res.day)
# print(res.hour)
# print(res.second)
# print(res.minute)
# print(res.weekday())
# print(res.isoweekday())

# 重点  时间差

# timedelta对象
# 可以对时间进行运算操作

# 获得本地日期 年月日
tday = datetime.date.today()
# 定义操作时间 day=7 也就是可以对另一个时间对象加7天或者减少7点
tdelta = datetime.timedelta(days=3)

print(tday + tdelta)

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

验证:

"""

# 定义日期对象
# now_date1 = datetime.date.today()
# # 定义timedelta对象
lta = datetime.timedelta(days=6, hours=10, minutes=20, microseconds=1111,weeks=4)
# now_date2 = now_date1 + lta  # 日期对象 = 日期对象 +/- timedelta对象
# print(type(now_date2))  # <class 'datetime.date'>
#
# print(now_date2)
# lta2 = now_date1 - now_date2  # timedelta对象 = 日期对象 +/- 日期对象
# print(lta2)

# 小练习 计算举例今年过生日还有多少天
birthday = datetime.date(2022, 12, 21)
now_date = datetime.date.today()
days = now_date - birthday

print('生日:{}'.format(birthday))
print('今天的日期:{}'.format(tday))
print('距离生日还有/{}天'.format(days))

import datetime

# dt_today = datetime.datetime.today()
# dt_now = datetime.datetime.now()
dt_utcnow = datetime.datetime.utcnow()  # UTC时间与我们的北京时间cha ju
print(dt_utcnow)

random模块


def get_code(n=4):
    code = ''
    for i in range(n):
        num = str(random.randint(0, 9))
        '''
            chr:
            ord
        '''
        # A-Z
        upper = chr(random.randint(65, 90))  # a:97

        # a-z
        lower = chr(random.randint(97, 122))

        code += random.choice([num, lower, upper])
    return code
code = get_code(4)
code1 = get_code(8)
code2 = get_code(10)
print(code)

posted on 2022-01-19 21:05  Hzangyao  阅读(33)  评论(0编辑  收藏  举报