#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2025/3/19 14:06 # @Author : AngesZhu # @File : get_random.py # @Desc : 随机一个字符串或者数字 from typing import Any from pandas.core.computation.common import result_type_many from utils.logger_utils import logger from utils.random_utils import RandomGenerator def exe_random(random_type: list, rule: dict[str, Any]) -> tuple[Any, str]: try: rg = RandomGenerator() str_temp = rg.generate(types=random_type, **rule) return True, ''.join(str_temp) except Exception as e: logger.error("随机一个字符串或者数字 Error: {}".format(e)) return False, str(e) def get_random(random_type: list, limit: int = 10, *args, **kwargs) -> Any: """ random_type 生成类型列表,可选:'number', 'letter', 'special' length: 生成结果的长度 随机一个字符串或者数字 """ logger.info(f"随机一个字符串或者数字") print(kwargs) try: # 拼接请求参数 **kwargs.get(chosen_type, {}) data_list = [] for i in range(limit): result, random_data = exe_random(random_type, kwargs) if result: data_list.append(random_data) else: logger.error("随机字符串异常 Error") return False, "随机字符串异常" return True, data_list except Exception as e: logger.error("随机一个字符串或者数字 Error: {}".format(e)) return False, e if __name__ == '__main__': random_type = ['number', 'letter'] letter = { "uppercase": True } number = { "min_val": 0, "max_val": 9 } length = 5 str_temp = get_random(random_type, limit=10,length=length, letter=letter, number=number) print(str_temp)