2017-05-20 31 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指令將被識別。如果數據中有~,請選擇另一個字符。