今天在做一个工具时要把终端的日志显示到wxpython 做的界面工具上,发现有些字段能正常显示,有些却不能,但用print就能显示完整的日志信息:说明日志返回结果没问题肯定是显示出了问题。
1.首先想到的是编码解码问题,之前在用Tkinter做的界面工具也遇到过这个问题,解决办法是把日志用utf8来解码,就能正常显示了,但这次无果。
2.debug后发现不能显示的字符串里有特殊的符号Esc,想着完全显示出整段字符串的原型不就好了,所以用了repr()函数,果然能将字符串显示到工具界面了,但可读性太差,于是通过观察,把特殊字符串的编码符替换成“”,搞定,完美显示日志
repr()显示字符串是以对python 友好的方式,所以看起来会有乱码,str()显示字符串是以人类友好的方式,所以会去掉字符串,但导致了有时候人类看不出来字符串是什么……
最后感叹一下print的强大,真的是什么他都会想着以最友好的方式呈现给大家