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

如何模拟Python的print()函数?适配sep/end参数与colorama着色

完善支持print参数的带色打印函数

要实现完全模拟print()的带色打印,核心思路是复用原生print的参数处理逻辑,仅给每个输出对象添加颜色前缀即可。以下是完善后的代码:

import sys
from colorama import init, Fore

# 初始化colorama,兼容Windows终端
init(autoreset=True)  # autoreset=True可自动重置颜色,避免后续输出被污染

# 定义全局颜色变量,示例设为绿色
console_color = Fore.GREEN

def pprint(*objects, sep=' ', end='\n', file=sys.stdout, flush=False):
    # 将每个对象转为字符串并添加颜色前缀
    colored_objects = [console_color + str(obj) for obj in objects]
    # 调用原生print处理所有参数逻辑
    print(*colored_objects, sep=sep, end=end, file=file, flush=flush)

代码说明:

  • 函数参数完全对齐原生print,包括sep、end、file、flush,确保所有print的用法都能在pprint中生效
  • 用列表推导式统一处理每个输出对象,先转字符串再添加颜色,避免非字符串类型报错
  • 直接复用原生print的分隔、结尾、输出流控制等逻辑,保证行为和原生print完全一致
  • init(autoreset=True)让每次打印后自动重置颜色,后续普通打印不会继承当前颜色

使用示例:

pprint("Hello", "Python", sep=' | ', end=' ✅\n')
# 输出带绿色的内容:Hello | Python ✅

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 21:20:44