2016-05-12 20 views
-2

我想用Python解析Linux bash應用程序stdout。 我使用python中的subproocess庫將stdout讀入字符串中使用Popen函數我需要知道如何在python中的bash應用程序stdout中搜索紅色字符串? 如何使用其顏色搜索「商品編號」,例如將紅色字符串讀入字符串?在Python bash stdout中用python搜索彩色字符串

enter image description here

+0

將輸出傳輸到文件。顏色應該由控制字符識別。 – 2016-05-12 12:30:44

+0

感謝您的關注,您能解釋一下嗎?這些控制字符是什麼(請使用python doc參考) – user3019074

+1

這不是Python的問題,也請看https://en.wikipedia.org/wiki/ANSI_escape_code#顏色。 – 2016-05-12 12:51:56

回答

1

紅色2,例如,可能是一個字節串像\e[31m2\e[0m,其中\e表示ASCII換碼。 (0可能存在也可能不存在。)這些是寫入終端的實際字節;然後終端將它們視爲修改如何顯示常規文本的說明。也就是說,不是顯示文字字符\e[,3,1m,而是將它們視爲以紅色顯示以下文本的指令。 \e[0m(或\e[m)同樣不顯示,但是作爲在終端的默認顏色和樣式中顯示以下文本的指令。

+0

「\ e [31m2 \ e [0m」是什麼意思?這是ASCII等效的「紅2」? – user3019074

+0

是:http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html – 2016-05-12 12:51:31

+0

轉義碼是ANSI標準的一部分。符合ANSI標準的終端不會將它們視爲字面字節來顯示。 – chepner