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        ^
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


最后一行的换行也记得加上,当然也可以参照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()

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

pip install pyfiglet

安装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一起,每天不一样!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/151767.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI大模型低成本快速定制法宝:RAG和向量数据库

文章目录 1. 前言2. RAG和向量数据库3. 论坛日程4. 购票方式 1. 前言 当今人工智能领域&#xff0c;最受关注的毋庸置疑是大模型。然而&#xff0c;高昂的训练成本、漫长的训练时间等都成为了制约大多数企业入局大模型的关键瓶颈。 这种背景下&#xff0c;向量数据库凭借其独特…

3.5 Windows驱动开发:应用层与内核层内存映射

在上一篇博文《内核通过PEB得到进程参数》中我们通过使用KeStackAttachProcess附加进程的方式得到了该进程的PEB结构信息&#xff0c;本篇文章同样需要使用进程附加功能&#xff0c;但这次我们将实现一个更加有趣的功能&#xff0c;在某些情况下应用层与内核层需要共享一片内存…

freertos源码下载和目录结构分析

1、源码下载 下载网址&#xff1a;https://www.freertos.org/zh-cn-cmn-s/&#xff1b; 2、源码目录结构 3、关键的代码文件

全国行政区划2023年最新版

全国行政区划包含以下字段&#xff0c;行政区划第五级&#xff0c;省、市、县、乡镇、村。文章末尾已整理成sql文件。 父级行政代码,行政代码,邮政编码,区号,名称,简称,组合名,拼音,经度,纬度, 获取方式 关键词“行政区划”获取文件。 免费获取行政区划

我们常说的网络资产,具体是如何定义的?

文章目录 什么叫网络资产&#xff1f;官方定义的网络资产网络资产数字化定义推荐阅读 什么叫网络资产&#xff1f; 通过百度查询搜索什么叫网络资产&#xff1f;大体上都将网络资产归类为计算机网络中的各类设备。 基本上会定义网络传输通信架构中用到的主机、网络设备、防火…

通过注释来埋点

目录 开始 插件编写 功能一 功能二 功能三 合并功能 运行代码 总结 这篇文章主要讲如何根据注释&#xff0c;通过babel插件自动地&#xff0c;给相应函数插入埋点代码&#xff0c;在实现埋点逻辑和业务逻辑分离的基础上&#xff0c;配置更加灵活 这篇文章想要达到的效…

010.cat、find

1、用cat进行拼接 cat命令能够显示或拼接文件内容&#xff0c;不过它的能力远不止如此。比如说&#xff0c;cat能够将标准输入数据与文件数据组合在一起。通常的做法是将stdin重定向到一个文件&#xff0c;然后再合并两个文件。而cat命令一次就能搞定这些操作。 用cat读取文件…

Go fsnotify简介

fsnotify是一个用Go编写的文件系统通知库。它提供了一种观察文件系统变化的机制&#xff0c;例如文件的创建、修改、删除、重命名和权限修改。它使用特定平台的事件通知API&#xff0c;例如Linux上的inotify&#xff0c;macOS上的FSEvents&#xff0c;以及Windows上的ReadDirec…

中小企业如何最大程度地利用CRM系统的潜力?

在当今竞争激烈的商业世界中&#xff0c;客户关系管理&#xff08;CRM&#xff09;数字化转型已经成为大企业成功的重要秘诀。大型跨国公司如亚马逊、苹果和微软等已经在CRM数字化方面走在了前列&#xff0c;实现了高度个性化的客户体验&#xff0c;加强了客户忠诚度。 然而&a…

手把手云开发一个小程序-(二)-uniclould的购买和默认库的使用

一,前言 因为平时喜欢记录一些文案,看小说或者上网冲浪的时候,遇到拍案叫绝的文字,就会截图保存下来,但是时间久了,手机里截图保留了很多,却不会再去看,想删除又舍不得,于是就想着自己开发个文案记录的小程序.自用的同时让有同样需求的人也能用. 目前已经把第一个版本开发完了…

【教3妹学编程-算法题】最长奇偶子数组

3妹&#xff1a;2哥&#xff0c;你有没有看到新闻&#xff0c; 网红快乐小赵去世了。 2哥 :啊&#xff1f; 这么突然 3妹&#xff1a;是啊&#xff0c; 伤心&#xff0c;以前还特别喜欢他的作品&#xff0c;幽默搞笑。 2哥&#xff1a;哎&#xff0c;人有悲欢离合&#xff0c; …

Open3D 进阶(17)间接平差拟合二维直线

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。 一、算法原理 见:PCL 间接平差法拟合二维直线。 二、代码实现 import numpy as np import open3d as o3d import matplotlib.pyplot as plt

关于数据mysql ->maxwell->kafka的数据传输

个人名片&#xff1a; &#x1f405;作者简介&#xff1a;一名大三在校生&#xff0c;热爱生活&#xff0c;爱好敲码&#xff01; \ &#x1f485;个人主页 &#x1f947;&#xff1a;holy-wangle ➡系列内容&#xff1a; &#x1f5bc;️ tkinter前端窗口界面创建与优化 &…

鸿蒙原生应用开发-折叠屏、平板设备服务卡片适配

一、多设备卡片适配原则 为不同尺寸的卡片提供不同的功能 在卡片开发过程中请考虑适配不同尺寸的设备&#xff0c;特别是在折叠屏和平板设备上&#xff0c;设备屏幕尺寸的变化直接影响了卡片内容的展示。请发挥想象力设计具有自适应能力的卡片&#xff0c;避免在卡片内容不做…

git clone:SSL: no alternative certificate subject name matches target host name

git clone 时的常见错误&#xff1a; fatal: unable to access ‘https://ip_or_domain/xx/xx.git/’: SSL: no alternative certificate subject name matches target host name ‘ip_or_domain’ 解决办法&#xff1a; disable ssl verify git config --global http.sslVe…

[Jenkins] Docker 安装Jenkins及迁移流程

系统要求 最低推荐配置: 256MB可用内存1GB可用磁盘空间(作为一个Docker容器运行jenkins的话推荐10GB) 为小团队推荐的硬件配置: 1GB可用内存50 GB 可用磁盘空间 软件配置: Java 8—无论是Java运行时环境&#xff08;JRE&#xff09;还是Java开发工具包&#xff08;JDK&#xff…

前端 react 面试题 (一)

文章目录 vue与react的区别。react的生命周期有哪些及它们的作用。setState是同步的还是异步的。如何更新数据后&#xff0c;立刻获取最新的dom或者更新后的数据。使用回调函数&#xff1a;在生命周期方法中处理&#xff1a; 函数式组件和class组件的区别。class组件函数式组件…

【5G PHY】5G SS/PBCH块介绍(三)

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

C/C++ 实现获取硬盘序列号

获取硬盘的序列号、型号和固件版本号&#xff0c;此类功能通常用于做硬盘绑定或硬件验证操作&#xff0c;通过使用Windows API的DeviceIoControl函数与物理硬盘驱动程序进行通信&#xff0c;发送ATA命令来获取硬盘的信息。 以下是该程序的主要功能和流程&#xff1a; 定义常量…

使用 Redis 构建轻量的向量数据库应用:图片搜索引擎(二)

本篇文章我们来继续聊聊轻量的向量数据库方案&#xff1a;Redis&#xff0c;如何完成整个图片搜索引擎功能。 写在前面 在上一篇文章《使用 Redis 构建轻量的向量数据库应用&#xff1a;图片搜索引擎&#xff08;一&#xff09;》中&#xff0c;我们聊过了构建图片搜索引擎的…