def import_program_as_module(program_filepath):
    """ Import module from program file `program_filepath`.
        :param program_filepath: The full filesystem path to the program.
            This name will be used for both the source file to read, and
            the resulting module name.
        :return: The module object.
        A program file has an arbitrary name; it is not suitable to
        create a corresponding bytecode file alongside. So the creation
        of bytecode is suppressed during the import.
        The module object will also be added to `sys.modules`.
        """
module_name = os.path.basename(program_filepath)
module = make_module_from_file(module_name, program_filename)
sys.modules[module_name] = module
return module
Import arbitrary-named file as a Python module, without generating bytecode file