带颜色的文本输出

时间:2011-08-18 14:16:11

标签: python html

研究员, 我在python中运行蒙特卡罗类型模拟,生成0,1和2的长字符串,我试图在文本或html文件中输出它们以供进一步分析。

我想在外部文件中打印这些字符串,并为不同的数字使用不同的颜色。 比如说,0 =红色,1 =绿色,2 = 2。

我对Python的了解和html在某种程度上是有限的。任何“指针”(对于无意的双关语)和代码的代码都将非常受欢迎。

1 个答案:

答案 0 :(得分:2)

只需写入这样的文件并在webbrowser中打开它:

def write_red(f, str_):
    f.write('<p style="color:#ff0000">%s</p>' % str_)

def write_blue(f, str_):
    # ...

f = open('out.html', 'w')
f.write('<html>')

write_red(f, thing_i_want_to_be_red_in_output)

f.write('</html>')
f.close()

更新:要完成此答案,请使用css,输出文件可以小得多。

style = """<style type='text/css'>
html {
  font-family: Courier;
}
r {
  color: #ff0000;
}
g {
  color: #00ff00;
}
b {
  color: #0000ff;
}
</style>"""

RED = 'r'
GREEN = 'g'
BLUE = 'b'

def write_html(f, type, str_):
    f.write('<%(type)s>%(str)s</%(type)s>' % {
            'type': type, 'str': str_ } )

f = open('out.html', 'w')
f.write('<html>')
f.write(style)

write_html(f, RED, 'My name is so foo..\n')
write_html(f, BLUE, '102838183820038.028391')

f.write('</html>')