本章所写方法适用于python随机生成验证码,盐值,密码等,最终返回json格式 可以对其进行修改 直接返回字符串,本文章不再做修改
# 随机数标准库---random
import random
# 字符串标准库 string
import string
import json
def get_random_str(tol_len: int = 10, num_max_len: int = 5):
"""
:param tol_len: 生成字符创的总长度 类型为int
:param num_max_len:数字占据的最大长度 类型为int
:return: 返回需要的字符串
"""
if not (isinstance(tol_len, int) and isinstance(num_max_len, int)):
return json.dumps({'code': 1, 'msg': '参数需为int'}, ensure_ascii=False)
# 数字的长度
num_len = random.randint(1, num_max_len)
# 字母的长度
ascii_len = tol_len - num_len
# 生成随机数字
num_list = []
# string.digits 0-9的数字
# random.choice():从指定的序列中获取一个随机元素
for _ in range(num_len):
num = random.choice(string.digits)
num_list.append(num)
# # 生成随机字母
ascii_list = []
for _ in range(ascii_len):
ascii = random.choice(string.ascii_lowercase)
ascii_list.append(ascii)
# 将随机数字和随机字符合并
all_str_list = num_list + ascii_list
# 打乱数组
random.shuffle(all_str_list)
# 将随时数字及字符的列表转为字符串
str_temp = ''
random_str = str_temp.join(all_str_list)
return json.dumps({'code': 0, 'data': {'str': random_str}}, ensure_ascii=False)
x = get_random_str(15, 2)
y = json.loads(x)
z = y['data']['str']
print(z)