cari

Rumah  >  Soal Jawab  >  teks badan

python - tornado中使用parse_command_line(final=False) 没能理解final是做什么的

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

PHP中文网PHP中文网2781 hari yang lalu1057

membalas semua(1)saya akan balas

  • PHP中文网

    PHP中文网2017-04-18 10:23:21

    Dengan cara ini, anda boleh mencari kod sumber, sila baca sendiri dokumen kaedah

    Jika final ialah False, hurai panggil balik tidak akan dijalankan.

    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
    

    balas
    0
  • Batalbalas