我想为我的孩子写一个包含一些算术问题的文件。我想染点颜色,这样他就能很容易地区分正负。 这对我很有效。不幸的是,只有在终点站。
import random as rd
from termcolor import colored
N = 10
MAX = 100
f = open("math.txt", "w")
def get_random_str():
a = rd.randint(1, MAX)
b = rd.randint(1, MAX)
if a < MAX*0.4:
string = "%3d "%a + str(colored('+', 'blue')) + " %d = \n"%(b)
else:
if a>b:
string = "%3d "%a + str(colored('-', 'red')) + " %d = \n"%(b)
else:
string = "%3d "%a + str(colored('-', 'red')) + " %d = \n"%(b)
return string
#-------------------------------------------------------------------------
for i in range(1,N):
print i, get_random_str()
当我试图将输出写进一个文件中时,当然我只得到颜色代码,例如“[34m+[0米”,而不是红色“-”和蓝色“+”。
你知道怎么解决这个问题吗?
这需要用于查看文件的程序来支持ANSI转义序列。这是可能的,例如,在GNU/Linux中使用
less -R
。您可能希望写入RTF文件而不是纯文本文件。这样你就可以用全彩色和高光的文字处理器来写文本和打开
或者只写一个HTML文件。
您可以使用任何合适的lexer和TerminalFormatter签出Pygments。
例如,以下代码:
给出:
使用具有给定内容的文件运行时。用法是
<script_name> <input_file_name>
。那张colors' reference。
COLOR_SCHEME
中的颜色是(lightscheme, darkscheme)
的元组。默认情况下,TerminalFormatter
使用lightscheme
。相关问题 更多 >
编程相关推荐