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

如何使用Rich控制台打印带红粗格式的变量?代码问题排查

无法在Rich的console.print中正确渲染变量值

我需要实现的功能是:用户输入内容后,将series变量以加粗红色的格式打印出来。

当前使用的代码:

series = console.input("Search [bold cyan]Series[/] :earth_asia:\n> ")
console.print('Searching for [bold red] $(series) [/]')

实际输出:

Search Series 🌏
> sample
Searching for $(series) 

期望输出:

Search Series 🌏
> sample
Searching for sample

现在代码无法正确渲染series变量的值,求解决方法。


问题出在单引号包裹的字符串中,$(series)会被当作普通文本处理,不会被解析为变量引用。Rich的console.print支持两种变量插值方式,任选其一即可解决:

方法1:使用Python格式化字符串(f-string)

在字符串前添加f前缀,用{}包裹变量名,让Python提前解析变量:

series = console.input("Search [bold cyan]Series[/] :earth_asia:\n> ")
console.print(f'Searching for [bold red]{series}[/]')

方法2:使用Rich内置的占位符插值

在字符串中用{变量名}作为占位符,再在console.print的参数中传入对应变量:

series = console.input("Search [bold cyan]Series[/] :earth_asia:\n> ")
console.print('Searching for [bold red]{series}[/]', series=series)

两种方法都能让series变量的值被正确替换,同时保留加粗红色的格式,得到你期望的输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 16:20:43