首页 > 解决方案 > 在python中生成一个不重复的随机数而不给出范围

问题描述

每次触发脚本时,我都尝试生成一个唯一编号。但是,在我的脚本中,我给出了一个 1-10 的范围,我以后每次都使用它来创建一个唯一的文件名。因此,在生成 1 到 10 范围内的所有随机数后,脚本会抛出无限循环。

import random
import os
import sys

class Random_no:
    def generate_random_number(self):
        random_number = random.randint(1, 10)
        return str(random_number[0])
    
    def execute(self):
        test_flag=False
        save_path = 'C:\\Users\\Krishma\\Desktop\\mt_config_test'
        while not test_flag:
            mt_config_file_name = "mt_config" + "_" + self.generate_random_number() + ".json"
            print(f"mt config file name is :{mt_config_file_name}")
            if os.path.exists(save_path + "\\" + mt_config_file_name):
                print(f"FILE ALREADY EXITS:{mt_config_file_name}")
            else:
                test_flag=True
        mt_config_path = os.path.join(save_path, mt_config_file_name)
        with open(mt_config_path, 'w+'):
            pass
            
        print(mt_config_path)

obj = Random_no()
obj.execute()

请在这件事上给予我帮助:)

标签: pythonrandomrangerandom-seed

解决方案


推荐阅读