python tornado中使用parse_command_line(final=False) final有何作用?,,大概知道parse_co


大概知道parse_command_line是用来解析命令行的,但是不理解里面的final参数是作什么的。顺便咨询一下学习tonardo的学习资源(知道官方文档是最好的)和书籍

通过这样,找到源代码,请自己看方法文档

If final is False, parse callbacks will not be run.

This is useful for applications that wish to combine configurationsfrom multiple sources.

def parse_command_line(self, args=None, final=True):        """Parses all options given on the command line (defaults to        `sys.argv`).        Note that ``args[0]`` is ignored since it is the program name        in `sys.argv`.        We return a list of all arguments that are not parsed as options.        If ``final`` is ``False``, parse callbacks will not be run.        This is useful for applications that wish to combine configurations        from multiple sources.        """        if args is None:            args = sys.argv        remaining = []        for i in range(1, len(args)):            # All things after the last option are command line arguments            if not args[i].startswith("-"):                remaining = args[i:]                break            if args[i] == "--":                remaining = args[i + 1:]                break            arg = args[i].lstrip("-")            name, equals, value = arg.partition("=")            name = self._normalize_name(name)            if name not in self._options:                self.print_help()                raise Error('Unrecognized command line option: %r' % name)            option = self._options[name]            if not equals:                if option.type == bool:                    value = "true"                else:                    raise Error('Option %r requires a value' % name)            option.parse(value)        if final:            self.run_parse_callbacks()        return remaining

编橙之家文章,

评论关闭