python 生成指定长度的字母,数字等字符串

import random
import string
from loguru import logger


class CommonGenerator(object):

    @staticmethod
    def generate_verify_code(code_length):
        """
        生成指定长度的数字字符串
        :param code_length: 指定长度
        :return:
        """
        return "".join(random.sample([x for x in string.digits], code_length))

    @staticmethod
    def generate_spec_uuid(spec_name, str_length):
        """
        :param spec_name: 前缀名称
        :param str_length: 指定长度
        :return:
        """
        return '{}_{}'.format(spec_name, "".join(random.sample([x for x in string.hexdigits + string.digits], str_length)))

    @staticmethod
    def generate_spec_password(pw_str_length):
        """
        :param pw_str_length: 指定长度
        :return:
        """
        return "".join(random.sample(string.ascii_letters, pw_str_length))


if __name__ == '__main__':
    common_generator = CommonGenerator()
    # print(common_generator.generate_spec_uuid('hst'))
    new_str = common_generator.generate_spec_uuid('urc', 12)
    logger.info(f"生成指定前缀类型的字符串:new_str = {new_str}")

    verify_code = common_generator.generate_verify_code(6)
    logger.info(f"生成指定长度的随机数:verify_code = {verify_code}")

    password_str = common_generator.generate_spec_password(8)
    logger.info(f"生成指定长度随机字符串:password_str = {password_str}")


猜你喜欢

转载自blog.csdn.net/xuezhangjun0121/article/details/121054636