(name, path=None)
return file, file_path, (suffix, mode, type_)
**DEPRECATED**

    Search for a module.

    If path is omitted or None, search for a built-in, frozen or special
    module and continue search in sys.path. The module name cannot
    contain '.'; to search for a submodule of a package, pass the
    submodule name and the package's __path__.
**DEPRECATED**
** DEPRECATED **
def find_module(name, path=None):
    """**DEPRECATED**

    Search for a module.

    If path is omitted or None, search for a built-in, frozen or special
    module and continue search in sys.path. The module name cannot
    contain '.'; to search for a submodule of a package, pass the
    submodule name and the package's __path__.

    """
    if not isinstance(name, str):
        raise TypeError("'name' must be a str, not {}".format(type(name)))
    elif not isinstance(path, (type(None), list)):
        # Backwards-compatibility
        raise RuntimeError("'path' must be None or a list, "
                           "not {}".format(type(path)))

    if path is None:
        if is_builtin(name):
            return None, None, ('', '', C_BUILTIN)
        elif is_frozen(name):
            return None, None, ('', '', PY_FROZEN)
        else:
            path = sys.path

    for entry in path:
        package_directory = os.path.join(entry, name)
        for suffix in ['.py', machinery.BYTECODE_SUFFIXES[0]]:
            package_file_name = '__init__' + suffix
            file_path = os.path.join(package_directory, package_file_name)
            if os.path.isfile(file_path):
                return None, package_directory, ('', '', PKG_DIRECTORY)
        for suffix, mode, type_ in get_suffixes():
            file_name = name + suffix
            file_path = os.path.join(entry, file_name)
            if os.path.isfile(file_path):
                break
        else:
            continue
        break  # Break out of outer loop when breaking out of inner loop.
    else:
        raise ImportError(_ERR_MSG.format(name), name=name)

    encoding = None
    if 'b' not in mode:
        with open(file_path, 'rb') as file:
            encoding = tokenize.detect_encoding(file.readline)[0]
    file = open(file_path, mode, encoding=encoding)
    return file, file_path, (suffix, mode, type_)
def find_module ( name , path = None ) : if not isinstance ( name , str ) : raise TypeError ( "'name' must be a str, not {}" . format ( type ( name ) ) ) elif not isinstance ( path , ( type ( None ) , list ) ) : # Backwards-compatibility raise RuntimeError ( "'path' must be None or a list, " "not {}" . format ( type ( path ) ) ) if path is None : if is_builtin ( name ) : return None , None , ( '' , '' , C_BUILTIN ) elif is_frozen ( name ) : return None , None , ( '' , '' , PY_FROZEN ) else : path = sys . path for entry in path : package_directory = os . path . join ( entry , name ) for suffix in [ '.py' , machinery . BYTECODE_SUFFIXES [ 0 ] ] : package_file_name = '__init__' + suffix file_path = os . path . join ( package_directory , package_file_name ) if os . path . isfile ( file_path ) : return None , package_directory , ( '' , '' , PKG_DIRECTORY ) for suffix , mode , type_ in get_suffixes ( ) : file_name = name + suffix file_path = os . path . join ( entry , file_name ) if os . path . isfile ( file_path ) : break else : continue break # Break out of outer loop when breaking out of inner loop. else : raise ImportError ( _ERR_MSG . format ( name ) , name = name ) encoding = None if 'b' not in mode : with open ( file_path , 'rb' ) as file : encoding = tokenize . detect_encoding ( file . readline ) [ 0 ] file = open ( file_path , mode , encoding = encoding ) return file , file_path , ( suffix , mode , type_ )