def load(file="current", build=True): [file, nb_char, letters, letters_table] = pickle.load(open(filename(file), 'rb')) markov_chain = MarkovChain(file, nb_char, letters, letters_table) if build: markov_chain.build() return markov_chain
if not(override) and cache_file_exists: shutil.copy(cache_filename, cache_current) stop('Swap current markov chain to "{}"'.format(file), error=False) # Compute MC markov_chain = MarkovChain() print('Parsing file "{}"...'.format(file)) with open(source_filename, 'r') as f: word = f.readline() while word: previous_char = SPACE for char in word.rstrip(): markov_chain.add(previous_char, char) previous_char = char markov_chain.add(previous_char, SPACE) word = f.readline() markov_chain.build() # Store MC with open(cache_filename, 'wb') as f: pickle.dump(markov_chain, f) shutil.copy(cache_filename, cache_current) print("Parsing done.") print('Set "{}" as current markov chain'.format(file))