python中的彩色输出

时间:2014-10-23 09:19:46

标签: python windows python-2.7

我使用的是python 2.7,我已经查看了:

Print in terminal with colors using Python?

Python Terminal Menu? Terminal Coloring? Terminal progress display?

我仍然得到同样的错误。正在运行的代码是:

print '\033[1;31m' + '@%s:' + '[1;m' + '\033[1;32m' + '%s - id = %s\n' + '\033[1;m' % (status.text1.encode('utf-8'), status.text2.encode('utf-8'), status.text3.encode('utf-8'))

所出现的错误是:

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    mostrar()
  File "C:\Documents and Settings\Administrador.DESKTOP\Mis documentos\test.py", line 16, in mostrar
        print '\033[1;31m' + '@%s:' + '[1;m' + '\033[1;32m' + '%s - id = %s\n' + '\033[1;m' % (status.text1.encode('utf-8'), status.text2.encode('utf-8'), status.text3.encode('utf-8'))
TypeError: not all arguments converted during string formatting

就像你可以看到的那样,我在windows中使用python。

问题是如何避免错误?我已经使用了colorama,错误是一样的。

1 个答案:

答案 0 :(得分:1)

尝试在要连接的格式字符串周围加上括号。 %绑定的优先级高于+,因此错误来自:

'\033[1;m' % (... 3 arguments ...)