def main(argv=None): if argv is None: argv = sys.argv data = {0:[]} songs = data[max(list(data.keys()))] print ("Would you like to:\n\t[1]Load a previous saved generation\n\t[2]Generate a new random generation\n\t[3]Print Previous Generation Data") choice = prompt("Please select an option", ["1", "2", "3"], True) if choice == "1": print ("Loading last generation") data = pickle.load(open(filename+".pkl", "rb")) songs = data[max(list(data.keys()))] for song in songs: print ("%d.%d: %s" % (song.generation, song.songnum, song.name)) if song.score == -1: while True: try: score = float(prompt("Song score")) song.score = score pickle.dump(data, open(filename+".pkl", "wb")) break except ValueError: print("Please enter a valid number") else: print ("Score: %s" % (song.score)) print () elif choice == "2": print ("Generating Songs") for i in ProgressBar.progressbar(range(generationSize)): songs.append(Song()) s = songs[-1] s.songnum = i s.createFile() pickle.dump(data, open(filename+".pkl", "wb")) print("Generation 0 generated and saved to file") else: data = pickle.load(open(filename+".pkl", "rb")) pprint(data[max(list(data.keys()))])