今天在做一個(gè)工具時(shí)要把終端的日志顯示到wxpython 做的界面工具上,發(fā)現(xiàn)有些字段能正常顯示,有些卻不能,但用print就能顯示完整的日志信息:說明日志返回結(jié)果沒問題肯定是顯示出了問題。
1.首先想到的是編碼解碼問題,之前在用Tkinter做的界面工具也遇到過這個(gè)問題,解決辦法是把日志用utf8來解碼,就能正常顯示了,但這次無果。
2.debug后發(fā)現(xiàn)不能顯示的字符串里有特殊的符號Esc,想著完全顯示出整段字符串的原型不就好了,所以用了repr()函數(shù),果然能將字符串顯示到工具界面了,但可讀性太差,于是通過觀察,把特殊字符串的編碼符替換成“”,搞定,完美顯示日志
repr()顯示字符串是以對python 友好的方式,所以看起來會(huì)有亂碼,str()顯示字符串是以人類友好的方式,所以會(huì)去掉字符串,但導(dǎo)致了有時(shí)候人類看不出來字符串是什么……
最后感嘆一下print的強(qiáng)大,真的是什么他都會(huì)想著以最友好的方式呈現(xiàn)給大家