day15、常用的模块,time模块使用,hashlib的使用

day15、常用的模块,time模块使用,hashlib的使用

常用模块=====

1、数学模块

  • math - 普通数学模块
print(int(-2.9),(2.9)) #-2 2

#向小取整
print(math.floor(-2.9),math.floor(2.9)# -3 2
  • cmath - 复数的数学模块

2、随机模块

  • random.randint(m,n) - 产生[m,n]的随机数
  • random.random() - 产生[0,1)的随机数
#[1,100)的随机小数
print(random.random()*100# [50,100)的随机小数
print(random.random()*50+50)
  • random.shuffle(列表) - 随机打乱列表中的元素
  • random.choice(列表) - 从列表中随机获取一个元素
  • random.choices(列表,k=N)- 从列表中随机获取N个元素

3、os模块

  • os.chdir(路径) - 将指定路径对应的目录修改成当前目录(默认情况下当前目录是当前py文件所在目录)
  • os.getcwd() - 获取当前目录的全路径

问题:创建文件/文件夹,删除文件/文件夹,判断是否是文件/文件夹、判断文件/文件夹是否存在

1.创建文件/文件夹: os.makedirs(‘文件夹名字’) ;os.open(‘路径文文件名字’,flags=os.O_CREAT)

2、删除文件/文件夹:os.remove(‘文件名字’) ;os.rmdir(‘文件夹的名字/路径’)

3、判断是不是文件:os.path.isfile(“abc”) 返回值是bool;判断是不是文件夹:os.path,isdirs(‘文件夹路径’)

4、os.path.exists(‘文件夹名/文件名’) # 判断存不存在

time模块=====

时间戳:以秒为单位,表示格林威治时间1970年1月1日0时0分0秒的时间差

时间戳特点:保存时间的时候保存时间戳要比直接保存时间信息更加节约内存;对时间戳进行加密比字符串时间加密要方便

1、time.time() - 获取当前时间(返回的是当前时间的时间戳

2、time.localtime() - 获取当前的本地时间,返回struct_time对象

  • time.localtime(时间戳) - 获取时间戳对应的本地时间,返回struct_time对象

3、time.strftime(时间,格式字符串,结构体时间)- 将结构体转换成指定格式的字符串时间

'2020/10/19'
t1 = time.time() # 获取当前时间的时间戳
t2 = time.localtime(t1) #将时间戳转化为本地时间,t2结果为结构体时间
s1 = time.strftime('%Y/%m/%d',t2) 

星期一 下午3:38
s2 = time.strftime('%A %p%H:%m',t2)
print(s2)  #Mon PM15:38

Mon PM15:38  将这个时间转换为中国时间:星期一 下午15:38
def China_time(t_str:str):
    table = {
        'PM':'下午',
        'AM':'下午',
        'Monday''星期一'
        'Mon''星期一'
    }
 for key in table:
    t_str = t_str.replace(key,table[key])
 return t_str

print(China_time(s2))  #星期一 下午15:38
    

hashlib=====

1、hashlib模块主要提供hash加密相关的算法来对数据进行加密处理

2、hash加密(hash摘要)的特点:

  • 加密结果不可逆(不能通过密文/摘要去获取到原文)
  • 同一个数据通过相同的算法加密之后的结果是一样的
  • 不同的数据通过相同的算法加密之后的长度相同

3、hash摘要的应用场景:

  • 密码保存
  • 数据完整性的验证
1、根据算法创建hash对象(mad5和shaXXX)
hash1 = hashlib.md5()  # hashlib.算法名()
2、添加需要生成摘要/密文的数据
#hash对象.update(数据的二进制)  此处的hash对象就是hash1
hash1.update('123456'.encode(encoding='utf-8'))#j将’123456‘转为二进制数据
3、生成摘要
dig = hash1.hexdigest()
print(dig)
为实现用户需求,从需求分析阶段的数据流图出发,根据小组讨论后确定的最佳方案。本系统主要包括两大功能模块:学生信息和成绩信息两个系统。其中学生信息系统划分为七个模块,学生成绩划分为四个模块。然后在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据结构。在测试过程中,先对单个模块进行测试,然后把模块连接起来进行测试。测试完成后书写文档,最后小组成员和用户在一块审查和复审。 1、 课题陈述 一方面,在时下这个飞速发展的信息社会中,直到今天仍然没有一套完善可行的学生信息管理系统出现在学校里。每年,从大专生、本科生到硕士生、博士生,几千人的入学、升学、毕业,全要由教务处和各系老师人工管理。信息量之巨大,工作量之繁重,是难以想象的。因此,学校和各个系都要安排多名教师专门负责学生学籍管理,浪费了大量的人力资源。然而,即使这样,管理仍然谈不上井井有条。举一个最简单的真实例子,一个同学的姓名在花名册里印错了,就一错错了三年,一直没能改正。同学想去改,却不知道是应该找系里,还是去找教务处。还有,当学生的基本信息,比如家庭住址、电话等变更后,无法及时在档案中修改,使得老师与同学无法联系沟通。 另一方面,从社会这方面讲,随着计算机的普及,越来越多的学校利用计算机来处理日常事务。面对众多的数据资料,很多管理者常常感到无从下手。在数字化的今天,我们需要一个学生管理系统,使我们的整体管理水平上一个档次,与如今这个高科技的信息社会接轨。 因此,如何有效的管理学生信息,帮助学校和老师管理和掌握这些情况,这就是学生信息管理系统需要完成的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值