Python 有没有办法在tornado web服务器内部打印已配置的路由处理程序?

Python 有没有办法在tornado web服务器内部打印已配置的路由处理程序?,python,tornado,Python,Tornado,给定以下(示例)处理程序(取自): 有没有一种方法可以在单独的页面上以编程方式打印处理程序?我的想法大致如下: handlers = [ (r"/", MainHandler), (r"/auth/login", AuthLoginHandler), (r"/auth/logout", AuthLogoutHandler), (r"/routes", RoutePrinter), ]

给定以下(示例)处理程序(取自):

有没有一种方法可以在单独的页面上以编程方式打印处理程序?我的想法大致如下:

handlers = [
            (r"/", MainHandler),
            (r"/auth/login", AuthLoginHandler),
            (r"/auth/logout", AuthLogoutHandler),
            (r"/routes", RoutePrinter),
        ]

...

class RoutePrinter(...):
    def get(self):
       self.write(str(self.application.routes))
这让我
[(,[,,,,,,,,,,,,,])]

我尝试了一些不同的访问器,但没有真正的帮助。是否可以生成我的路线列表

编辑

在进一步搜索的基础上,我找到了从这些regex对象打印模式/标志的方法。问题是,我很难理解如何取消它们的测试,因为它不像
self.application.handlers[0][0]
self.application.handlers[1][0]
那样直观。第二个是“超出范围”,尽管它看起来应该是“/auth/login”

我错过了什么?

这个呢

[handler.regex.pattern for handler in self.application.handlers[0][1]]
如果还需要处理程序类的名称:

[(handler.regex.pattern, handler.handler_class) for handler in self.application.handlers[0][1]]

自从路由配置增强后,这似乎在Tornado 4.5+中不起作用。
[(handler.regex.pattern, handler.handler_class) for handler in self.application.handlers[0][1]]