python之内置模块

常用的内置模块

random库

import random

# 获取随机的整数
res = random.randint(10, 20)  # [10,20]
print(res)

# 获取随机的小数
res2 = round(random.uniform(10, 20), 2)
print(res2)

# 从列表中随机获取一个元素
list1 = [11, 22, 33, 44, 55, 66, 77, 88]
res3 = random.choice(list1)
print(res3)

# 从列表中随机获取n个元素
list1 = [11, 22, 33, 44, 55, 66, 77, 88]
res3 = random.sample(list1,2)
print(res3)

print('-----------------------------')
# 随机打乱顺序
list1 = [11, 22, 33, 44, 55, 66, 77, 88]
random.shuffle(list1)
print(list1)

hashlib库

主要用于数据加密 sha256(可逆) md5(不可逆)

import hashlib
#获取MD5加密对象
md5_object = hashlib.md5()
#修改数据加密编码
md5_object.updata(info.encod('utf-8'))
#调用方法开始加密
res1= md5_object.hexdigest()
print(res1)

一般情况下,我们再做MD5加密算法时,适当进行加盐处理,因为可能会导致不同的数据,在加密后结果会一样

md5_object = hashlib.md5('加盐字符串'.encode('utf-8'))

json库

  • 本质上其实是一个字符串,有一些特殊格式的字符串

  • 序列化与反序列化

    • 序列化:将自己文本数据。程序中的数据变成网络中传输的数据
    #将网络中符合json格式的字符串,转变为python中的数据类型
    import json
    
    data= json.loads('json格式的字串')
    
    • 反序列化: 将网络中传输的数据,转变成程序中的数据或者文本数据
    import json
    # dict1 为网络中传输的数据
    data = json.dumps(dict1,ensure_ascill=False)
    
    

time库

时间戳相关

time.time() # 时间戳 毫秒级别 整数部分秒级别

datetime库

日期相关

from datetime import datetime
#时间戳 毫秒级别
s1=time.time()
#获得日期
s1=datetime.now()
#日期格式化
s2=s1.strftime("%H:%M:%S %y-%m-%d")

image-20240112112939757

# 字符串-->datetime类型 strptime()
s1 = "2024-01-12"

s1 = datetime.strptime(s1, '%Y-%m-%d')  # 格式要与字符串的格式一致
print(s1, type(s1))
print('-------------------')
# datetime类型--> 字符串
s2 = datetime.now().strftime("%H:%M:%S  %Y/%m/%d")
print(s1,type(s2))
print('-------------------')
# datetime-->时间戳
s3 = datetime.now() # datetime类型
s3 = s3.timestamp()
print(s3,type(s3))
print('-------------------')
# 时间戳-->datetime类型
res = datetime.fromtimestamp(s3)
print(res)


res = res.strftime("%Y/%m/%d %H:%M:%S")
print(res)

# 时间戳-->datetime类型-->字符串
s4 = datetime.fromtimestamp(1705028697).strftime("%Y/%m/%d %H:%M:%S")
print(s4)

拼接字符串有中文

s5 = datetime.fromtimestamp(1705028697)
print(s5,type(s5))
time_str = f'{s5.year}年{s5.month}月{s5.day}日 {s5.hour}时{s5.minute}分{s5.second}秒'
print(time_str)

os系统文件模块

#将路径进行拼接 data/user.text
s1=os.path.join('data','user.txt')
#获得文件s1的父级目录
os.path.dirname(s1)
#获取当前文件所在的绝对路径的父级目录 abspath(__file__)获取当前文件所在绝对路径
os.path.dirname(os.path.abspath(__file__)) 

#判断路径是否存在
os.path.exists(所判断的文件)
#判断文件是否存在
os.path.isdir()
#创建文件夹 如果创建文件的话,就使用open()的方式创建
os.makedirs()


#删除文件
os.remove()
#删除文件夹
os.rmdir()
#查看目录下的文件和文件夹
res1=os.walk()
#a1: 表示当前文件夹路径
#a2: 表示当前路径下文件夹的列表
#a3: 表示当前路径下的文件列表
for a1,a2,a3 in res1:

异常处理

  • 什么是异常: 程序运行过程中出现的不正常情况

异常分类

  • 错误:代码语法有问题
  • 异常: 一般在程序运行的时候

处理异常

# try...except...语句
try:
    #可能会出现问题的代码
except:
    #如果try里面的代码出现了问题,就会运行这里的代码,如果不会出问题,就不会运行
else: #当try中的代码没有问题时会执行
finally:
    #无论try中的代码是true还是false,都会执行,除非在运行finally之前突然退出程序 
    #作用在通常情况下,是释放资源
  • 异常处理的好处
    • 让程序能进行下去
    • 能够解决一些判断的复杂业务逻辑
posted @ 2024-01-15 19:49  low-reed  阅读(7)  评论(0)    收藏  举报