python生成指定长度的随机字符串

本章所写方法适用于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)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值