vendredi 6 novembre 2020

Generate a random number without repetition in python without giving range

I am trying to generate a unique number every time the script is triggered. But, in my script I am giving a range say 1-10, which I am using later to create a unique file name every time. So after generating all random number within range of 1 to 10, the script throws an infinite loop.

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()

PLEASE HELP ME WITH THIS:)




Aucun commentaire:

Enregistrer un commentaire