Bascially,我想要一個簡單(ish),跨命令行/ shell的文本着色的跨平臺方法。簡單的跨平臺python在命令行/ shell中着色文本的方式
我真的很喜歡這不涉及導入模塊,但因爲跨平臺支持相當複雜,我知道它可能不得不。
雖然我不需要太精細,只需要幾個基本的顏色。
Bascially,我想要一個簡單(ish),跨命令行/ shell的文本着色的跨平臺方法。簡單的跨平臺python在命令行/ shell中着色文本的方式
我真的很喜歡這不涉及導入模塊,但因爲跨平臺支持相當複雜,我知道它可能不得不。
雖然我不需要太精細,只需要幾個基本的顏色。
書寫ANSI excape sequences不需要任何花哨,應該相當容易。
Here是一個基本的exaple展示瞭如何可以手動完成。*
或者你也可以像termcolor或colorama參考看看庫。
*編輯:剛纔看到,這個例子並不是真正完整的功能。使其工作33[
必須替換爲\033[
着色終端輸出的機制是相當普遍的。它通過在輸出流中回顯escape命令來完成。
http://en.wikipedia.org/wiki/ANSI_escape_code
真正的關鍵是確定你看終端是否支持着色。例如,如果輸出正在被重定向到一個文件,那麼轉義序列就會使輸出流混亂,因爲你最終可能正在用文本編輯器讀取文件。
確定終端窗口的功能通常是通過稱爲「termcap」的東西來處理的,並且有幾個用於該目的的庫,具有該確切的名稱。這也經常被捲入更強大的庫,比如詛咒。
而且,事實證明,你很幸運:http://docs.python.org/library/curses.html
你必須,如果你想要的東西跨平臺/稍微複雜,使用的模塊。
我建議使用pypi.python.org/pypi/colorama,它是跨平臺的。
是的,只是測試它,它沒有工作。改變'33 ['s也不管用。 – ACarter
這可能是因爲我在使用Windows。 – ACarter
我決定使用Colorama,它很可愛......謝謝。 – ACarter