python100day - day15- 常用模块

python100day - day15- 常用模块

常用模块介绍:

1.常用标准库
import math, cmath
import random
import os
import sys
import turtle
import csv
import smtplib
import time

"""
1.数学模块
math(普通数学模块)、cmath(复数数学模块)

2.随机模块
random.randint(m,n) - 产生m~n的随机整数
random.random()  -  产生[0,1)的随机小数
random.shuffle(列表)  - 随机打乱列表中的元素
random.choice(列表)  -  从列表中随机获取一个元素
random.choices(列表, k=N)   -  从列表中随机获取N个元素

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

os.getcwd()  -  获取当前工作目录
创建文件/文件夹、删除文件/文件夹、判断是否是文件/文件夹、判断文件/文件夹是否存在
4.json模块
5.re模块
6.sys模块
7.turtle - 画图模块
8.csv - csv文件操作
9.smtplib  -  邮件的发送
"""
去掉小数部分只保留整数部分
print(int(-2.9), int(2.9))   # -2 2

print(math.floor(-2.9), math.floor(2.9), math.floor(2.4))   # -3 2 2

print(random.random()*100)   # 0~100的随机小数
print(random.random()*50 + 50)   # [50, 100)的随机小数

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
random.shuffle(nums)
print(nums)   # 打乱列表  [9, 8, 5, 4, 3, 7, 2, 6, 1]

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(random.choice(nums))   # 随机获取一个元素 8
print(random.choices(nums, k=2))   # 随机获取两个元素[5, 4]
os.makedirs(path) - 创建新的 文件夹,默认的mode是0o777(八进制)
path = '../day15 - 学生管理系统和常用模块/data/aaa'
os.makedirs(path, 0o777)
print('路径被创建')
os.mkdir(path) - 创建新的文件夹,默认的mode是0o755(八进制)
os.mkdir('../day15 - 学生管理系统和常用模块/data/bbb.txt', 0o755)
print('目录已创建')
os.remove(path) - 删除路径为path的文件。如果path是一个文件夹,将抛出OSError,查看下面的rmdir()删除一个directory
# 列出目录
print('目录为:%s' %os.listdir(os.getcwd()))
# 目录为:['.idea', '02 - 常用模块介绍.py', '03 - time模块的使用.py', '04 - hashlib的使用.py', 'aaa.txt', 'data', 'main.py', 'qqq']
# 移除
os.remove('aaa.txt')
# 移除后列出目录
print('移除后:%s' %os.listdir(os.getcwd()))
# 移除后:['.idea', '02 - 常用模块介绍.py', '03 - time模块的使用.py', '04 - hashlib的使用.py', 'data', 'main.py', 'qqq']

# 退出程序(提前结束线程)
# sys.exit()
# print('======')

# 创建画布
# turtle.setup(600, 800)
# turtle.mainloop()
2.time模块的使用
什么是时间戳
"""
时间戳就是以秒为单位表示的到格林威治时间1970年1月1日0事0分0秒的时间差()

保存时间的时候保存时间戳要比直接保存时间信息更加节约内存
对时间戳进行加密比字符串时间加密要方便
"""
1.time() - 获取当前时间(返回当前时间的时间戳)
t1 = time.time()
print(t1)   # 1603093135.1167588
2.time.localtime()
time.localtime() - 获取当前的本地时间
t2 = time.localtime()
print(t2)   # time.struct_time(tm_year=2020, tm_mon=10, tm_mday=19, tm_hour=18, tm_min=48, tm_sec=36,tm_wday=0, tm_yday=293, tm_isdst=0)
time.localtime() - 获取指定时间戳对应的本地时间
t3 = time.localtime(0)
print(t3)   # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0,tm_wday=3, tm_yday=1, tm_isdst=0)
t4 = time.localtime(1603093135.1167588)
print(t4)   # time.struct_time(tm_year=2020, tm_mon=10, tm_mday=19, tm_hour=15, tm_min=38, tm_sec=55, tm_wday=0(周一的意思),tm_yday=293, tm_isdst=0)
3.time.strftime(时间格式字符串, 结构体时间) - 将结构体时间转换成指定格式字符串时间
# '2020/10/19'
s1 = time.strftime('%Y%m%d', t3)
print(s1)   # 19700101

# xxxx-xx-xx xx:xx:xx
s2 = time.strftime('%Y/%m/%d %H:%M:%S', t4)
print(s2)   # 2020/10/19 15:38:55

# 星期一 下午3:38
s3 = time.strftime('%A %p%H:%M', t4)
print(s3)   # Monday PM15:38
4.time.strptime(字符串, 时间格式字符串) - 将字符串时间转换成结构体时间
# 4.time.strptime(字符串, 时间格式字符串) - 将字符串时间转换成结构体时间
s2 = '2000-10-29'
t5 = time.strptime(s2, '%Y-%m-%d')
print(t5)   # time.struct_time(tm_year=2000, tm_mon=10, tm_mday=29, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=303, tm_isdst=-1)
3.hashlib的使用
import hashlib
"""
hashlib模块主要提供hash加密相关的算法来对数据进行加密处理

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

hash摘要的应用场景:
a.密码保存
b.数据完整性的验证
"""
1.根据算法创建hash对象(md5和shaXXX)
# hashlib.算法名()
hash = hashlib.md5()
2.添加需要生成摘要/密文的数据
# hash对象.update(数据的二进制)
hash.update('123456'.encode(encoding='utf-8'))
3.生成摘要
dig = hash.hexdigest()
print(dig)   # e10adc3949ba59abbe56e057f20f883e
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值