我看到我可以使用colorama
和termcolor
为事物着色。
我想使用Python格式化程序为数字着色:
print("My value is %.2f" % value)
其中数字为绿色,如果value > 0
则为红色。
实现这一目标的最Python方式是什么?
答案 0 :(得分:1)
我不认为您可以更轻松/更好地使用colorama或自定义包装器(请看一下question作为参考)。
原因是python在字符串模板/格式方面没有很大的可扩展性。终端输出应该是转义序列,并且别无选择,因此您需要以某种方式修改输出。
一个带有f弦的定时器我可能喜欢:
print(f'Value is {OKGREEN if value > 0 else FAIL} {value}')
如果您的情况允许这样做,那么完美的事情就是将逻辑封装为值类(大致上,如果您可以使用int / float的子类),那么您可以为__format__
规范提供着色支持。
如果您做不到,您可能会在打印纸上包装纸。