第十五天(内置函数)

淺唱寂寞╮ 提交于 2019-12-04 21:20:56

第十五天(内置函数)

import datetime​# 获取当前年月日# print(datetime.date.today())​# 获取当前年月日时分秒# print(datetime.datetime.today())# l1 = datetime.datetime.today()# print(type(time_obj))# print(time_obj.year)# print(time_obj.month)# print(time_obj.day)​# 从索引0开始计算周一# UTC# print(l1.weekday())  # 0-6# ISO# print(l1.isoweekday())  # 1-7# 北京时间# print(datetime.datetime.now())# 格林威治# print(datetime.datetime.utcnow())​'''日期/时间的计算 (*******)    日期时间 = 日期时间 “+” or “-” 时间对象    时间对象 = 日期时间 “+” or “-” 日期时间'''# 日期时间:# s1 = datetime.datetime.now()# print(s1)# 获取七天时间# l1 = datetime.timedelta(days=7)# print(l1)​# 获取当前七天的时间# 日期时间 = 日期时间‘+’ or ‘-’ 时间对象# l2 = s1 + l1# print(l2)​​import random​# 随机获取1- 9中任意的整数# l1 = random.randint(1, 9)# print(l1)​# 默认获取0-1中间任意小数# l2 = random.random()# print(l2)​# 打乱顺序# l3 = ['wanglu','zhaoqiao','yinglili','jinyi']# random.shuffle(l3)# print(l3)​# 随机获取可迭代对象中的某个值# l4 = ['a', 'b', 'c', 'd', 'e']# s2 = random.choice(l4)# print(s2)​​'''随机验证码需求:    大小写字母、数字组合而成    组合5位数的随机验证码    前置技术:    chr()  可以将ASCII表中值转换成对应的字符    random.choice'''​# 获取任意长度的随机验证码# def get_code(n):#     code = ''#     # 每次循环只从大小写字母、数字中取出一个字符#     for i in range(n):#         # 随机获取一个小写字母#         r1 = random.randint(97, 122)#         s1 = chr(r1)##         # 随机获取一个大写字母#         r2 = random.randint(65, 90)#         s2 = chr(r2)##         # 随机获取一个数字#         r3 = str(random.randint(0, 9))##         code_list = [s1, s2, r3]##         random_code = random.choice(code_list)##         code += random_code##     return code## code = get_code(5)# print(code)​​​​'''os与操作系统交互的模块'''import os​# 获取当前项目根目录​# 获取当前文件中的上一级目录# LIANXI = os.path.dirname(__file__)# print(LIANXI)​# 项目的根目录,路径相关的值都用'常量'# DAY15 = os.path.dirname(LIANXI)# print(DAY15)​# 路径拼接:拼接文件‘结对路径’# FOO = os.path.join(LIANXI, '二次元.txt')# print(FOO)​# 判断'文件/文件夹'是否存在:返回布尔值# print(os.path.exists(FOO))   # False# print(os.path.exists(LIANXI))   # True​​# 判断'文件夹'是否存在# print(os.path.isdir(FOO))  # False# print(os.path.isdir(LIANXI))  # True​# 创建文件夹# CHUANG_JIAN = os.path.join(LIANXI, '三次元')# os.mkdir(CHUANG_JIAN)​# 删除文件夹# coo1 = os.listdir()# print(coo1)​# 让用户选择文件# s1 = os.listdir(r'D:\python上海正式课\课后随笔\15\day15\二次元')# # print(s1)# while True:#     # 1、打印二次元老婆#     for index, name in enumerate(s1):#         print(f'编号:{index} 文件名:{name}')##     choice = input('选择你的真爱--->(三笠天下第一) 编号: ').strip()#     # 限制用户必须输入数字,数字的范围必须在编号内#     # 不符合,重新输入#     if not choice.isdigit():#         print('老婆序号')#         continue##     # 正确,继续执行#     choice = int(choice)##     # 判断超出范围,重新输出#     if choice not in range(len(s1)):#         print('不要太贪心了')#         continue##     s2 = s1[choice]##     s3 = os.path.join(r'D:\python上海正式课\课后随笔\15\day15\二次元', s2)#     print(s3)##     with open(s3, 'r', encoding='utf-8')as f:#         print(f.read())​​'''hashlib是一个加密模块:    内置了很对算法:    MD5(*******):不可解的算法(2018年以前)'''import hashlib​def pwd_md5(pwd):  #    md5_obj = hashlib.md5()    # print(type(md5_obj))    str1 = pwd  # '1234'    # update中一定要传入bytes类型数据    md5_obj.update(str1.encode('utf-8'))​    # 创造盐    sal = '坦克怎么这么帅啊!'    # 加盐    md5_obj.update(sal.encode('utf-8'))​    # 得到一个加密后的字符串    res = md5_obj.hexdigest()    # eb1ca06cf5940e9fb6ef39100ec72c94    return res​# user_str1 = f'tank:1234'## user_str2 = f'tank:{res}'​# with open('user.txt', 'w', encoding='utf-8') as f:#     f.write(user_str2)​# 模拟用户登陆操作​# 获取文件中的用户名与密码with open('user.txt', 'r', encoding='utf-8') as f:    user_str = f.read()​file_user, file_pwd = user_str.split(':')​# 用户输入用户名与密码username = input('请输入用户名:').strip()password = input('请输入密码:').strip()  # 1234​# 校验用户名与密码是否一致if username == file_user and file_pwd == pwd_md5(password):  # pwd_md5('1234')    print('登陆成功')else:    print('登陆失败')​​

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!