• springboot服务和python服务如何自定义启动banner


    shigen日更文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。

    shigen最近在修改ruoyi的框架,看到了框架自带的banner图,就是一个不爽,于是动手整改了一下。先来看下效果:

    佛祖保佑 永无bug

    还算是比较个性化的,来看看怎么做的吧。其实也很简单,在项目的resources目录下新建文件banner.txt,写入如下的内容即可:

                           ${AnsiColor.BRIGHT_RED}_ooOoo_                       ${AnsiColor.BRIGHT_YELLOW}
                          ${AnsiColor.BRIGHT_RED}o8888888o                      ${AnsiColor.BRIGHT_YELLOW}
                          ${AnsiColor.BRIGHT_RED}88${AnsiColor.BRIGHT_YELLOW}" . "${AnsiColor.BRIGHT_RED}88                      ${AnsiColor.BRIGHT_YELLOW}
                          (| -_- |)                      ${AnsiColor.BRIGHT_YELLOW}
                          ${AnsiColor.BLUE}O${AnsiColor.BRIGHT_YELLOW}\  =  /${AnsiColor.BLUE}O                      ${AnsiColor.BRIGHT_YELLOW}
                       ____/`---'\____                   ${AnsiColor.BRIGHT_YELLOW}
                     .'  \\|     |//  `.                 ${AnsiColor.BRIGHT_YELLOW}
                    /  \\|||  :  |||//  \                ${AnsiColor.BRIGHT_YELLOW}
                   /  _||||| -:- |||||-  \               ${AnsiColor.BRIGHT_YELLOW}
                   |   | \\\  -  /// |   |               ${AnsiColor.BRIGHT_YELLOW}
                   | \_|  ''\---/''  |   |               ${AnsiColor.BRIGHT_YELLOW}
                   \  .-\__  `-`  ___/-. /               ${AnsiColor.BRIGHT_YELLOW}
                 ___`. .'  /--.--\  `. . __              ${AnsiColor.BRIGHT_YELLOW}
              ."" '<  `.___\_<|>_/___.'  >'"".           ${AnsiColor.BRIGHT_YELLOW}
             | | :  `- \`.;`\ _ /`;.`/ - ` : | |         ${AnsiColor.BRIGHT_YELLOW}
             \  \ `-.   \_ __\ /__ _/   .-` /  /         ${AnsiColor.BRIGHT_YELLOW}
        ${AnsiColor.BRIGHT_MAGENTA}======${AnsiColor.BRIGHT_YELLOW}`-.____`-.___\_____/___.-`____.-'${AnsiColor.BRIGHT_MAGENTA}======
                           `=---='
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        ^        佛祖保佑             永无BUG        ^
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    最后一行的换行也记得加上,当然也可以参照spirngboot官方的banner,可以打印spring的版本和spring boot的版本。

    springboot官方的

    好奇心来了,java的可以用springboot,那python的用啥,用啥打印个性化的banner图呢?于是找了一下,用的flask框架,最后的效果是这样的:

    flask启动banner图

    注意:启动的时候不会输出banner,但是第一请求之后会输出。

    代码如下:

    # -*- encoding: utf-8 -*-
    __date__ = '2023/11/16 08:11:55'
    
    
    from flask import Flask
    import pyfiglet
    from termcolor import colored
    
    app = Flask(__name__)
    
    # 输出个性化带颜色的 banner
    @app.before_first_request
    def print_banner():
        banner_text = pyfiglet.figlet_format("Welcome to My Flask App!", font="slant")
        colored_banner = colored(banner_text, color="cyan")
        print(colored_banner)
    
    # 路由和视图函数
    @app.route('/')
    def hello_world():
        return 'Hello, World!'
    
    if __name__ == '__main__':
        app.run()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    我们需要安装的库是pyfiglet,直接安装即可:

    pip install pyfiglet
    
    • 1

    安装pyfiglet

    这个库可以指定其他的字体样式,通过指定 font 参数来选择不同的字体。

    1. standard: 标准字体,也是默认的字体样式。
    2. banner: 横幅字体,具有粗体和大号的效果。
    3. big: 大号字体,字符更加宽大。
    4. slant: 倾斜字体,字符倾斜且带有一些装饰性质的变化。
    5. italic: 斜体字体,字符以斜线倾斜。
    6. digital: 数字字体,字符由数字组成。
    7. small: 小号字体,字符比较短小。

    以上就是今天分享的全部内容了,觉得不错的话,记得点赞 在看 关注支持一下哈,您的鼓励和支持将是shigen坚持日更的动力。同时,shigen在多个平台都有文章的同步,也可以同步的浏览和订阅:

    平台账号链接
    CSDNshigen01shigen的CSDN主页
    知乎gen-2019shigen的知乎主页
    掘金shigen01shigen的掘金主页
    腾讯云开发者社区shigenshigen的腾讯云开发者社区主页
    微信公众平台shigen公众号名:shigen

    shigen一起,每天不一样!

  • 相关阅读:
    usb 命名乱的一批,怎么破
    【整合】LSTM 时间序列预测任务 Time-Series-stock (模拟实现股票走势预测)
    java毕业设计——基于java+J2EE+sqlserver的在线考试系统设计与实现(毕业论文+程序源码)——在线考试系统
    MSQL系列(七) Mysql实战-SQL语句Join,exists,in的区别
    C++11的一些新特性|右值引用|STL中的一些变化
    计算机网络八股文复习
    上交所实时行情文件汇总
    ​python合并列表 青少年编程电子学会python编程等级考试三级真题解析2020年9月
    编程思想重新理解
    设计模式篇---组合模式
  • 原文地址:https://blog.csdn.net/weixin_55768452/article/details/134433078