random
import random
# 随机整数
print(random.randint(10, 20))
# 随机小数
print(random.uniform(0, 1))
# 随机选择一个数
print(random.choice([0, 1, 2, 3, 4]))
# 随机选择多个数
print(random.sample([0, 1, 2, 3, 4], 2))
# 打乱顺序
num_list = [1, 2, 3, 4, 5, 6]
random.shuffle(num_list)
print(num_list)
#########
10
0.8871641906001367
0
[2, 0]
[3, 2, 1, 6, 5, 4]
hashlib
import hashlib
password = "obud"
obj = hashlib.md5()
obj.update(password.encode("utf-8"))
res = obj.hexdigest()
print(res)
#########
e423d8fc1630050a037dd0150b0a02de
json
import json
# 序列化 python数据类型 -> json字符串
info = {'code': 100, 'data': [11, 22]}
data_string = json.dumps(info)
print(data_string)
#########
{"code": 100, "data": [11, 22]}
# 反序列化 json字符串 -> python数据类型
info = json.loads(data_string)
print(info['code'])
print(info['data'])
#########
100
[11, 22]
flask
from flask import Flask
app = Flask(__name__)
@app.route('/test07/hello1')
def hello1():
return "hello1"
@app.route('/test07/hello2')
def hello2():
return "hello2"
@app.route('/test07/hello3')
def hello3():
return "hello3"
if __name__ == '__main__':
app.run()
datetime
from datetime import datetime
# 字符串 -> datetime
text = "2022-12-21"
res = datetime.strptime(text, "%Y-%m-%d")
print(res)
# datetime -> 字符串
res_string = datetime.strftime(res, "%Y-%m-%d")
print(res_string)
# datetime -> 时间戳
res_f = datetime.timestamp(res)
print(res_f)
#########
2022-12-21 00:00:00
2022-12-21
1671552000.0
os
import os
import time
# 获取当前工作路径
print(os.getcwd())
# 切换工作路径
os.chdir("d:/save")
print(os.getcwd())
# 获取所有环境变量
print(os.environ)
# 获取通过控制终端进程进行登录的用户名
print(os.getlogin())
# 返回python运行的环境系统
# posix Linux 和 Mac OS
# nt Windows
# java Java 虚拟机环境
print(os.name)
# 创建一个新文件夹,不能创建多级文件夹
os.mkdir("test")
# 创建多级目录
os.makedirs("a/b")
# 删除空文件夹
os.rmdir("test")
# 删除多级文件夹
os.removedirs("a")
# 删除文件
os.remove("b.txt")
# 重命名
os.rename("a/b.txt", "c.txt")
# 递归重命名
os.renames("a/b.txt", "c.txt")
# 获取当前环境路径
print(os.path)
# 获取绝对路径
print(os.path.abspath(__file__))
# 判断路径或文件是否存在
print(os.path.exists("a.txt"))
# 获取文件的最后访问时间,返回的时间为秒(时间戳),可以利用tiem转换成常用的时间格式
t = os.path.getatime('a') # 获取时间戳
tupTime = time.localtime(t) # 将时间戳转换成本地时间
stadardTime = time.strftime("%Y-%m-%d %H:%M:%S", tupTime) # 转换成对应的时间格式
print(stadardTime) # 2022-09-18 11:44:28
# 在windos下获取文件的创建时间,在Unix返回的是最后的修改时间
print(os.path.getctime('a/c/aaa.txt'))
# 获取文件的大小
print(os.path.getsize("a.txt"))
# 将路径 path 拆分为一对,即 (head, tail),其中,tail 是路径的最后一部分,而 head 里是除最后部分外的所有内容。tail 部分不会包含斜杠,如果 path 以斜杠结尾,则 tail 将为空。如果 path 中没有斜杠,head 将为空。如果 path 为空,则 head 和 tail 均为空。
a = os.path.split('D:/aa/bb')
print(type(a)) # <class 'tuple'>
print(a) # ('D:/aa', 'bb') 头部和尾部
# 当最后为’/‘时
a = os.path.split('D:/aa/bb/')
print(a) # ('D:/aa/bb', '') 尾部为空
# 当路径path中没有路径的时候
a = os.path.split('aa')
print(a) # ('', 'aa') # 头部为空
# 当传入的路径为空时
a = os.path.split('')
print(a) # ('', '') # 头部和尾部均为空
# 判断传入的文件是否存在 返回布尔值
os.path.isfile('a/c/aaa.txt')
# 判断传入的文件夹是否存在 返回布尔值
os.path.isdir('a/c')
sys
import sys
# 导入模块时,python会到这些目录找
print(sys.path)
# 运行脚本时传入的参数
print(sys.argv)
shutil
import shutil
# 删除文件夹
shutil.rmtree("test")
# 重命名文件和文件夹
shutil.move("a.txt", "b.txt")
shutil.move("a", "b")
# 拷贝文件夹
shutil.copytree("a", "b")
# 拷贝文件夹
shutil.copy("a", "day20230705/")