code: def _read_config_file(cf, _globals=globals(), _locals=locals(), interactive=True):  # noqa: E501
      
      log_loading.debug("Loading config file [%s]", cf)
      try:
          exec(compile(open(cf).read(), cf, 'exec'), _globals, _locals)
      except IOError as e:
          if interactive:
              raise
          log_loading.warning("Cannot read config file [%s] [%s]", cf, e)
      except Exception:
          if interactive:
              raise
          log_loading.exception("Error during evaluation of config file [%s]", cf)
docs: Read a config file: execute a python file while loading scapy, that may contain  # noqa: E501
      some pre-configured values.
  
      If _globals or _locals are specified, they will be updated with the loaded vars.  # noqa: E501
      This allows an external program to use the function. Otherwise, vars are only available  # noqa: E501
      from inside the scapy console.
  
      params:
      - _globals: the globals() vars
      - _locals: the locals() vars
      - interactive: specified whether or not errors should be printed using the scapy console or  # noqa: E501
      raised.
  
      ex, content of a config.py file:
          'conf.verb = 42\n'
      Manual loading:
          >>> _read_config_file("./config.py"))
          >>> conf.verb
          42