def parse_args(self, arglist=None):
        """Parse arguments and update options accordingly.

        Args:
            arglist (list of str): list of arguments to parse. If set to None,
                ``sys.argv[1:]`` is used.

        Returns:
            :class:`Namespace`: the argument namespace returned by the
            :class:`argparse.ArgumentParser`.
        """
        args = self._parser.parse_args(args=arglist)
        sub_cmd = args.loam_sub_name
        if sub_cmd is None:
            for opt, sct in self._opt_bare.items():
                self._conf[sct][opt] = getattr(args, opt, None)
        else:
            for opt, sct in self._opt_cmds[sub_cmd].items():
                self._conf[sct][opt] = getattr(args, opt, None)
        return args
Parse arguments and update options accordingly.

        Args:
            arglist (list of str): list of arguments to parse. If set to None,
                ``sys.argv[1:]`` is used.

        Returns:
            :class:`Namespace`: the argument namespace returned by the
            :class:`argparse.ArgumentParser`.