def load(self, callables_fname):
<EOL>_validate_fname(callables_fname)<EOL>if not os.path.exists(callables_fname):<EOL><INDENT>raise OSError("<STR_LIT>".format(callables_fname))<EOL><DEDENT>with open(callables_fname, "<STR_LIT:r>") as fobj:<EOL><INDENT>fdict = json.load(fobj)<EOL><DEDENT>if sys.hexversion < <NUM_LIT>:  <EOL><INDENT>fdict = _unicode_to_ascii(fdict)<EOL><DEDENT>self._callables_db.update(fdict["<STR_LIT>"])<EOL>rdict = {}<EOL>for key, value in fdict["<STR_LIT>"].items():<EOL><INDENT>tokens = key[<NUM_LIT:1>:-<NUM_LIT:1>].split("<STR_LIT:U+002C>")<EOL>key = tokens[<NUM_LIT:0>].strip()[<NUM_LIT:1>:-<NUM_LIT:1>]<EOL>if platform.system().lower() == "<STR_LIT>":  <EOL><INDENT>while True:<EOL><INDENT>tmp = key<EOL>key = key.replace("<STR_LIT>", "<STR_LIT:\\>")<EOL>if tmp == key:<EOL><INDENT>break<EOL><DEDENT><DEDENT><DEDENT>rdict[(key, int(tokens[<NUM_LIT:1>]))] = value<EOL><DEDENT>self._reverse_callables_db.update(rdict)<EOL>self._modules_dict.update(fdict["<STR_LIT>"])<EOL>self._fnames.update(fdict["<STR_LIT>"])<EOL>self._module_names.extend(fdict["<STR_LIT>"])<EOL>self._class_names.extend(fdict["<STR_LIT>"])<EOL>self._module_names = sorted(list(set(self._module_names)))<EOL>self._class_names = sorted(list(set(self._class_names)))<EOL>
r"""
        Load traced modules information from a `JSON <http://www.json.org/>`_ file.

        The loaded module information is merged with any existing module information

        :param callables_fname: File name
        :type  callables_fname: :ref:`FileNameExists`

        :raises:
         * OSError (File *[fname]* could not be found)

         * RuntimeError (Argument \\`callables_fname\\` is not valid)