import json import objects.mines.disarming.mine_parameters as param import os import project_constants as const # this module is self contained, used to generate a json file DIR_DATA = os.path.join(const.ROOT_DIR, "resources", "data") # just to show, how mine parameters works def param_presents(): mine = param.MineParameters() print(mine.jsonifyable_dict()) json_mine = json.dumps(mine.jsonifyable_dict()) print(json_mine) new_mine = param.MineParameters(json.loads(json_mine)) print(new_mine.get_parameters()) def generate_data(file_name: str, lines: int): file = open(os.path.join(DIR_DATA, file_name), "w") data_set = set() for x in range(100000): new_params = json.dumps(param.MineParameters().jsonifyable_dict()) data_set.add(new_params) for x in range(lines): if len(data_set) == 0: break random_params = data_set.pop() file.write(random_params) file.write("\n") del data_set file.close() def main(): generate_data("training_set.txt", 20000) if __name__ == "__main__": main()