2017-06-24 64 views
0

高亮顯示單詞如何通過改變使用Python 2.7的顏色\顏色突出顯示文本一字/信在Python 2.7

嘗試: 使用克林特。

>>> from clint.textui import puts, colored 
>>> puts(colored.red('Text in Red')) 

文本在紅 ,但我想只有在例如「文本」,以色彩的「X」。

回答

0
import termcolor 

string = 'Text in Red' 

string = string.replace('x', termcolor.colored('x', 'red')) 

print string 
+1

請確保您的答案是採用書面答覆時提供的格式化工具格式正確。另外,最好實際提供一個關於你的代碼實際上可以幫助讀者理解的解釋。 – idjaw

0

以下將工作。

>>> from clint.textui import puts, colored 
>>> puts('Te'+colored.red('x')+'t in Red') 

讓我解釋爲什麼這個工作原理是首先解釋顏色的顯示在控制檯中。

當你想告訴控制檯改變,你會覺得你就必須做一些特殊的系統調用什麼顏色,但所有你需要做的是輸出一些特殊字符稱爲ANSI轉義序列。克林特爲你處理這件事。當您使用clint.ansi.red功能,x和轉義字符前加紅色轉義字符重置一切恢復正常是在X之後。

這意味着,'Te'+colored.red('x')+'t in Red''Te\x1b[31m\x1b[22mx\x1b[39m\x1b[22mt in Red'是一樣的,您可以繼續將其他顏色的文本添加到您的心中。


此外,克林特處理這一點,但只是參考,如果你想看到的顏色轉義序列的完整列表,他們可以找到here。還有其他的ansi代碼可以讓你做更改光標位置的事情。您可以找到所有的ansi代碼here的列表。如果你陷入困境與克林特·庫之外的ANSI代碼,確保你考慮到控制的各個流程,包括需要需要將文本恢復到正常意外的異常。執行程序並不是件有趣的事,遇到一些使控制檯變紅的錯誤,然後讓程序退出,但你仍然留下一個紅色的控制檯。