Skip to content

click 与终端彩色 ​

🎨 r0capture 用 click 库打印彩色 banner,并探测终端能力。

在 r0capture 里的用途 ​

show_banner 用 click.secho / click.style 打印彩色 banner:

python
try:
    import click
except:
    class click:  # 降级:click 不可用时用 print
        @staticmethod
        def secho(message=None, **kwargs):
            print(message)
        @staticmethod
        def style(**kwargs):
            raise Exception("unsupported style")

色板探测 ​

python
colors = ['bright_red', 'bright_green', 'bright_blue', 'cyan', 'magenta']
try:
    click.style('color test', fg='bright_red')
except:
    colors = ['red', 'green', 'blue', 'cyan', 'magenta']  # 退回普通色

先探测终端是否支持 bright 色,不支持则退回普通色板。

降级策略 ​

  • click 可用 → 彩色 banner
  • click 不可用 → 用 print 替代(class click 桩)
  • 任何异常 → 静默吞掉,不影响抓包

相关文档 ​

基于 VitePress 构建 · 教学用途