python - tornado中使用parse_command_line(final=False) 没能理解final是做什么的
问题描述
大概知道parse_command_line是用来解析命令行的,但是不理解里面的final参数是作什么的。顺便咨询一下学习tonardo的学习资源(知道官方文档是最好的)和书籍
问题解答
回答1:通过这样,找到源代码,请自己看方法文档
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 namein `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 configurationsfrom multiple sources.'''if args is None: args = sys.argvremaining = []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
相关文章:
1. java固定键值转换,使用枚举实现字典?2. vim - win10无法打开markdown编辑器3. mysql - 千万数据 分页,当偏移量 原来越大时,怎么优化速度4. 如何解决tp6在zend中无代码提示5. javascript - 有没有类似高铁管家的时间选择插件6. 这是什么情况???7. python - flask学习,user_syy添加报role is invalid keyword for User.8. css - BEM 中块(Block)有木有什么标准 何时决定一个部分提取为块而不是其父级的元素呢(Element)?~9. css3 - less或者scss 颜色计算的知识应该怎么学?或者在哪里学?10. javascript - 微信网页开发从菜单进入页面后,按返回键没有关闭浏览器而是刷新当前页面,求解决?
