<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load_config_file(appdirs=DEFAULT_APPDIRS, file_name=DEFAULT_CONFIG_FILENAME, fallback_config_instance=None):
 """ Retrieve config information from file at default location. If no config file is found a new one will be created either with ``fallback_config_instance`` as content or if none is provided with the result of ``get_default_backend_config``. Args: appdirs (HamsterAppDirs, optional):
 ``HamsterAppDirs`` instance storing app/user specific path information. file_name (text_type, optional):
 Name of the config file. Defaults to ``DEFAULT_CONFIG_FILENAME``. fallback_config_instance (ConfigParser):
 Backend config that is to be used to populate the config file that is created if no pre-existing one can be found. Returns: SafeConfigParser: Config loaded from file, either from the the pre-existing config file or the one created with fallback values. """

    if not fallback_config_instance:
        fallback_config_instance = backend_config_to_configparser(
            get_default_backend_config(appdirs)
        )

    config = SafeConfigParser()
    path = get_config_path(appdirs, file_name)
    if not config.read(path):
        config = write_config_file(
            fallback_config_instance, appdirs=appdirs, file_name=file_name
        )
    return config