def load_module(filename, code_objects=None, fast_load=False,<EOL>get_code=True):
<EOL>if not osp.exists(filename):<EOL><INDENT>raise ImportError("<STR_LIT>" % filename)<EOL><DEDENT>elif not osp.isfile(filename):<EOL><INDENT>raise ImportError("<STR_LIT>" % filename)<EOL><DEDENT>elif osp.getsize(filename) < <NUM_LIT:50>:<EOL><INDENT>raise ImportError("<STR_LIT>" % (filename, osp.getsize(filename)))<EOL><DEDENT>with open(filename, '<STR_LIT:rb>') as fp:<EOL><INDENT>return load_module_from_file_object(fp, filename=filename, code_objects=code_objects,<EOL>fast_load=fast_load, get_code=get_code)<EOL><DEDENT>
load a module without importing it.
    load_module(filename: string): version, magic_int, code_object

    filename:	name of file containing Python byte-code object
                (normally a .pyc)

    code_object: code_object from this file
    version: Python major/minor value e.g. 2.7. or 3.4
    magic_int: more specific than version. The actual byte code version of the
               code object

    Parsing the code object takes a bit of parsing time, but
    sometimes all you want is the module info, time string, code size,
    python version, etc. For that, set get_code=False.