2017-05-20 30 views
-5

在打开文件时,python中是否有任何方法将颜色输出打印到文件并以彩色读取输出?Python将颜色输出打印到文件。当我们打开文件时,能够以彩色读取文件

我正在使用Linux操作系统。

我使用en脚本将输出文件转换为html并在浏览器中读取。

下面是代码:

import sys 
import time 
class bcolors: 
    HEADER = '\033[95m' 
    OKBLUE = '\033[94m' 
    OKGREEN = '\033[92m' 
    WARNING = '\033[93m' 
    FAIL = '\033[91m' 
    ENDC = '\033[0m' 
    BOLD = '\033[1m' 
    UNDERLINE = '\033[4m' 
from prettytable import PrettyTable 
a = "ok" 
b = "Failed" 
t = PrettyTable([bcolors.WARNING + 'Input' + bcolors.WARNING, bcolors.WARNING + 'status' + bcolors.WARNING]) 
if a == "ok": 
    t.add_row([bcolors.OKGREEN + 'FAN' + bcolors.ENDC, bcolors.FAIL + a + bcolors.ENDC]) 
else: 
    t.add_row(['FAN', b]) 
storage_file = open("Storage-output.txt", 'w') 
sys.stdout = storage_file 
print t 
storage_file.close() 

它生成文本文件Storage_file。

我将Storage_file转换为使用enscript的html。下面是命令。现在

enscript --language=html -o file_out_html.html Storage-output.txt 

我在Web浏览器的输出显示如下图所示:

Storage-output.txt 
+-------+--------+ 
| [93mInput[93m | [93mstatus[93m | 
+-------+--------+ 
| [92mFAN[0m | [91mok[0m | 
+-------+--------+ 

要求:

  1. ,因为我不是写HTML脚本。我正在编写它生成输出并发送到文件的python脚本。我需要用颜色在网页浏览器中阅读这个文件。

的任何解决方案都没什么问题

+0

在什么程序中打开文件? – Nullman

+0

其实我将这个输出文件转换为html并在浏览器中读取它 – pioltking

+0

确实有可能使用颜色呈现HTML。你能提供更多细节吗? –

回答

0

的字符串类bcolors是ANSI颜色代码。如果您有适当配置的终端仿真器,当您使用print语句将此输出发送到屏幕时,您将看到颜色。

但HTML有指定颜色的完全不同的方式:它看起来像这样

<p style="color:red;">This is a paragraph.</p> 

浏览器不明白ANSI颜色代码,让你的enscript命令需要知道如何将其转化成HTML。但Enscript不理解ANSI颜色代码。如果要指定颜色,ENSCRIPT你需要像

~color{red green blue} 

其中red,​​和blue当您运行ENSCRIPT您需要定义,比如给定为十进制数0和1

之间, ~作为转义字符:将 -e~添加到您的命令行中,以便colour指令将被识别。如果数据中有~,请选择另一个字符。