python - tornado中使用parse_command_line(final=False) 没能理解final是做什么的
PHP中文网
PHP中文网 2017-04-18 10:21:21
0
1
1052

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

PHP中文网
PHP中文网

认证0级讲师

reply all(1)
Ty80

In this way, you can find the source code, please read the method document yourself

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

This is useful for applications that wish to combine configurations
from 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
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template