如何使用Python在终端中为数字着色?

时间:2019-01-28 11:23:19

标签: python python-3.x

我看到我可以使用coloramatermcolor为事物着色。

我想使用Python格式化程序为数字着色:

print("My value is %.2f" % value)

其中数字为绿色,如果value > 0则为红色。

实现这一目标的最Python方式是什么?

1 个答案:

答案 0 :(得分:1)

我不认为您可以更轻松/更好地使用colorama或自定义包装器(请看一下question作为参考)。

原因是python在字符串模板/格式方面没有很大的可扩展性。终端输出应该是转义序列,并且别无选择,因此您需要以某种方式修改输出。

一个带有f弦的定时器我可能喜欢:

print(f'Value is {OKGREEN if value > 0 else FAIL} {value}')

如果您的情况允许这样做,那么完美的事情就是将逻辑封装为值类(大致上,如果您可以使用int / float的子类),那么您可以为__format__规范提供着色支持。

如果您做不到,您可能会在打印纸上包装纸。