簡體   English   中英

如何使用 Python 在終端中為數字着色?

[英]How can I colour numbers in terminal with Python?

我看到我可以使用coloramatermcolor事物termcolor

我想使用 Python 格式化程序為我的數字着色:

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

如果value > 0 ,則數字為綠色,否則為紅色。

實現這一目標的最pythonic方法是什么?

我不相信有任何東西可以讓您更輕松/更好地使用 colorama 或自定義包裝器(請查看此問題以供參考)。

原因是 python 對字符串模板/格式沒有很好的可擴展性。 終端輸出應該是轉義序列,沒有其他辦法,所以你需要以某種方式修改你的輸出。

帶有 f-strings 的一次性計時器可能我喜歡:

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

如果您的情況允許這樣做,那么完美的做法是將邏輯封裝到值類(粗略地說,如果您可以使用 int/float 的子類),那么您可以為__format__規范提供對着色的支持。

如果你不能,你可能最終會得到圍繞打印的包裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM