我有一個奇怪的問題,我不能把手指放在上面。我使用了一個程序(並不時有所貢獻),該程序使控制檯輸出着色。一切工作很好,直到我重新安裝Windows。現在我無法獲得彩色輸出。打印彩色輸出 - 從控制檯而不是從腳本工作
這是用於着色的script。
我已經設法將問題縮小到或多或少的簡單情況,但我不知道什麼是錯的。
這是控制檯提示符下按預期工作(字符串test
紅色印):
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path.insert(0, r'c:\bin\SV\tea\src')
>>> from tea.console.color import cprint, Color
>>> cprint('test\n', Color.red)
test
>>>
但是當我運行下面的腳本與相同版本的Python我得到的輸出test
但不是在紅色(有沒有顏色,只是默認的控制檯顏色):
import sys
sys.path.insert(0, r'c:\bin\SV\tea\src')
from tea.console.color import cprint, Color
cprint('test\n', Color.red)
- 之前,我重新安裝了系統相同的設置工作。
- 我已經檢查過,交互模式和腳本中的環境變量是相同的。
- 我已經在標準的Windows命令提示符和控制檯中試過這個,我通常使用的程序是 。
- 有問題的操作系統是Windows 8,在重新安裝之前,這也在Windows 8上使用。
- 相同的代碼具有相同的安裝程序在工作的計算機(Windows 7)工作。
- 我安裝了Python 2.7和Python 3.3(正如我以前所做的那樣)。我試圖運行腳本 與直接調用python解釋器(
c:\Python27\python.exe
)或與py -2
, 但它沒有幫助。 - IPython和mercurial按照它應該的顏色輸出。
任何想法我可以嘗試使這項工作?
編輯:
也許並不清楚,但劇本我用上色輸出有問題的鏈接中給出。在這裏它再次: https://bitbucket.org/alefnula/tea/src/dc14009a19d66f92463549332a321b29c71d47b8/src/tea/console/color.py?at=default
你可以分享代碼到'tea.console.color'嗎?例如,是否在管道環境中使用終端檢測來禁用顏色? – 2013-02-23 16:43:58
有問題的tea.console.color的鏈接。我將編輯問題以使其更清楚。 – 2013-02-23 17:20:56
查看[utils模塊源代碼](https://bitbucket.org/alefnula/tea/src/dc14009a19d6/src/tea/system/__init__.py?at=default)我想知道*爲什麼*該項目不'使用['platform'](http://docs.python.org/2/library/platform.html)模塊?平臺檢測完全有可能在某處出錯。 – 2013-02-23 17:25:34