You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python脚本显示顺序调整需求:先展示分隔栏再输出Banner

解决方案

如果你希望先显示两条分隔栏,再逐字符展示Banner内容,有两种实现方式,可根据视觉需求选择:

方式1:两条分隔栏连续显示后,Banner在下方输出

直接调整打印语句顺序,把两条分隔栏的打印逻辑放在Banner输出循环之前:

from pyfiglet import figlet_format as pyfiglet
import time, sys

banner = pyfiglet("Banner")

# 先打印两条分隔栏
print("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")
print("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")

# 逐字符输出Banner
for i in banner:
    sys.stdout.flush()
    print(i, end="")
    time.sleep(0.01)

方式2:Banner在两条分隔栏之间逐字符显示(贴近原布局)

如果想保留Banner被上下分隔栏包裹的布局,同时让分隔栏先全部显示,再展示Banner,需要用ANSI转义序列控制光标位置:

from pyfiglet import figlet_format as pyfiglet
import time, sys

banner = pyfiglet("Banner")

# 打印顶部分隔栏
print("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")
# 打印空行,预留Banner的显示位置
print()
# 打印底部分隔栏
print("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")

# 将光标向上移动2行,回到预留的Banner位置(\033[2A 表示向上移动2行)
sys.stdout.write("\033[2A")
sys.stdout.flush()

# 逐字符输出Banner
for i in banner:
    sys.stdout.flush()
    print(i, end="")
    time.sleep(0.01)

关键调整说明

  • 方式1仅调整打印语句顺序,将两条分隔栏的print调用移到Banner循环前,实现先输出分隔栏再输出Banner。
  • 方式2通过\033[2A转义码将光标移回预留位置,让分隔栏先完整显示,之后Banner在中间逐字符出现,保持原有上下分隔栏包裹Banner的布局。

内容的提问来源于stack exchange,提问作者user21253318

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 16:07:05