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

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

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(1)
Ty80

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

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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage