2012-03-24 36 views
8

Tôi đã cài đặt colorama cho python. Tôi đã nhập khẩu các module như sau:Colorama cho Python, Không trả về các dòng in màu trên Windows

import colorama 
from colorama import init 
init() 
from colorama import Fore, Back, Style 

print Fore.RED + "My Text is Red" 

và nó trả về charaters ANSI ....

esc[31mMy Text is Red 

này isn `t những gì tôi mong đợi. Tôi có làm điều gì sai.

Cảm ơn.

+1

Bạn đang chạy hệ điều hành nào? –

+0

Tôi đang chạy các cửa sổ 7 64 bit .... – Mike

+3

Bạn có đang chạy trên Command Prompt hoặc trong một số IDE không? Nó sẽ hoạt động trong Command Prompt, nhưng không phải trong IDLE hoặc Eclipse Pydev, ví dụ. – Junuxx

Trả lời

0

Điều đó là bình thường vì bạn không có ANSI trên Windows.

Hãy thử một số thứ như tendo.colorer và điều này sẽ cho phép tô màu cho tất cả nền tảng.

Lưu ý: tendo.colorer thêm màu vào nhật ký, nhưng tôi chắc chắn bạn sẽ tìm hiểu cách sử dụng nó cho những thứ khác. Nếu tôi không nhầm thì chỉ cần nhập nó trước mã của bạn, nó sẽ khắc phục được sự cố.

+1

Bạn đang thiếu điểm. OP tuyên bố rõ ràng rằng anh ta đã có thư viện [colorama] (http://pypi.python.org/pypi/colorama). – Junuxx

+0

@Junuxx, có thể như vậy, nhưng nếu những gì OP muốn làm không hoạt động, lựa chọn thay thế nên được đề xuất. Tôi đã gặp vấn đề này với colorama không hoạt động trên Windows. Module tendo.colorer làm việc cho tôi. Mặc dù URL hiện là https://github.com/pycontribs/tendo/blob/master/tendo/colorer.py –

-6

thử như sau:

import colorama 

colorama.init() 
print colorama.Fore.GREEN + " Hey, im green! " 
+7

Điều này không khác với ví dụ trong câu hỏi, chỉ cần sử dụng cú pháp nhập khác nhau bề ngoài. – Junuxx

+0

Tương tự như câu hỏi. –

5

Tôi chưa bao giờ có thành công nhận được màu sắc làm việc trong Windows cmd.exe mà không vá nó với Ansicon. Sau khi vá, mã màu ANSI sẽ hoạt động mà không cần phải sử dụng một cái gì đó như colorama (mà không làm việc cho tôi).

Để vá cmd.exe với Ansicon, làm như sau:

  1. Tải Ansicon từ https://github.com/adoxa/ansicon/downloads và giải nén nó vào một thư mục không có dấu cách
  2. Dùng cmd nhắc và điều hướng đến nơi bạn giải nén nó.
  3. CD vào thư mục x64 (trừ khi bạn có một máy 32bit, sau đó sử dụng x86 một)
  4. Loại ansicon.exe –i
  5. Mở mới cmd nhắc

qua: https://stackoverflow.com/a/4749307/191902

Ngoài ra, nếu bạn có một card đồ họa NVIDIA, bạn có thể cần phải đặt biến môi trường "ANSICON_EXC" thành "nvd3d9wrap.dll".

+0

ansicon -i làm cho nó hoạt động trên tất cả các shell cmd.exe của tôi. Tuy nhiên, trình bao dòng lệnh Python vẫn không giải thích được chuỗi thoát. \ x1b trước các chuỗi ANSI hợp lệ vẫn hiển thị dưới dạng mũi tên chỉ bên trái. Tôi còn phải làm gì nữa không? –

-3

bạn chỉ có thể nhập một lần nhập. chẳng hạn như:

from colorama import init, Fore, Back, Style 

init() 

và bạn có thể thử ngay:

print(Fore.RED + 'some red text') 
print(Back.GREEN + 'and with a green background') 
print(Style.DIM + 'and in dim text') 
print(Fore.RESET + Back.RESET + Style.RESET_ALL) 
7

Tôi có vấn đề này cùng trên Windows 7 x64, cuối cùng tôi nhận được các màu sắc làm việc mà không cần phải cài đặt bất cứ điều gì mới chỉ bằng cách thêm đối số convert=True cho cuộc gọi init.

from colorama import init, Fore, Back, Style 

init(convert=True) 

print(Fore.RED + 'some red text') 
Các vấn đề liên quan