您的位置:首页 > 健康 > 美食 > 国内知名设计网站_微信公众号小程序是什么_武汉网络推广优化_seo属于什么

国内知名设计网站_微信公众号小程序是什么_武汉网络推广优化_seo属于什么

2025/5/15 1:00:09 来源:https://blog.csdn.net/Allen_Spring/article/details/147522298  浏览:    关键词:国内知名设计网站_微信公众号小程序是什么_武汉网络推广优化_seo属于什么
国内知名设计网站_微信公众号小程序是什么_武汉网络推广优化_seo属于什么

请添加图片描述

文章目录

  • 1. 基础打印 + 覆盖同一行
  • 2. 多行动画效果
  • 3. 彩色文本(Windows/macOS/Linux)
  • 4. 输入交互
  • 5. 异步输入与非阻塞显示
  • 6. 高级控制台 UI 库


可以通过控制台打印实现简单的「伪UI交互」,尤其适合展示进度、动态文本或轻量级状态反馈。以下是几种常见方法及示例:


1. 基础打印 + 覆盖同一行

\r 实现覆盖当前行内容(无需换行),适合显示动态进度。

import time
import sysfor i in range(101):# \r 将光标移动到行首,覆盖之前的输出sys.stdout.write(f"\r进度: [{'=' * i}{' ' * (100 - i)}] {i}%")sys.stdout.flush()  # 立即刷新输出缓冲区time.sleep(0.05)
print("\n完成!")  # 换行结束

效果:
进度: [================================================== ] 50%


2. 多行动画效果

通过清屏或移动光标实现多行动态效果(需 os 模块支持)。

import time
import osdef clear_console():os.system('cls' if os.name == 'nt' else 'clear')while True:clear_console()print("=== 动态信息 ===")print("1. 当前任务: 数据处理中...")print("2. 进度: 75%")print("3. 剩余时间: 10秒")time.sleep(1)# 按 Ctrl+C 退出循环

3. 彩色文本(Windows/macOS/Linux)

使用 colorama 库(跨平台彩色输出)增强可读性。

# 安装库:pip install colorama
from colorama import Fore, Back, Style
import timeprint(Fore.GREEN + "开始处理...")
time.sleep(1)
print(Back.YELLOW + Fore.BLACK + "警告:内存占用过高!")
time.sleep(1)
print(Style.RESET_ALL + "操作完成。")  # 重置颜色

效果:
绿色文字 → 黄底黑字警告 → 重置后默认颜色。


4. 输入交互

通过 input() 获取用户输入,但会阻塞线程直到输入完成。

name = input("请输入你的名字: ")
print(f"你好, {name}!")

5. 异步输入与非阻塞显示

结合 threading 实现「边输入边显示进度」(需处理线程同步)。

import threading
import timedef background_task():for i in range(5):print(f"\r后台任务进度: {i+1}/5", end="")time.sleep(1)print("\r后台任务完成!")# 启动后台线程
thread = threading.Thread(target=background_task)
thread.start()# 主线程继续接收输入
name = input("请输入你的名字: ")
print(f"你好, {name}! 后台任务已结束。")

6. 高级控制台 UI 库

如果需要更复杂的交互(如菜单、表格),可使用专用库:
rich: 支持富文本、表格、进度条等(GitHub)

curses: 终端图形库(需手动处理布局)

使用 rich 示例:

# 安装库:pip install rich
from rich.progress import track
import timefor _ in track(range(100), description="处理中..."):time.sleep(0.05)

效果:
带进度条、描述文字和自动更新的控制台界面。


优缺点对比

方法优点缺点
基础打印覆盖无需任何库,兼容所有环境无法复杂布局,依赖回车覆盖
多行动画可展示更多信息需清屏操作,可能闪烁
彩色文本提升可读性Windows 需额外配置
输入交互简单直接阻塞线程,无法同时显示动态内容
rich 等库功能强大,界面美观需安装第三方库

适用场景
• 简单进度反馈:用 \r 覆盖或 rich.progress

• 命令行工具:用 input()print() 组合。

• 监控类脚本:多行动画 + 定时刷新。

• 需要美观输出:直接使用 richcolorama

如果需要真正的交互式 UI(如按钮、窗口),仍需使用 Tkinter/PyQt 等 GUI 框架。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com