印刷颜色带有“ [31m””前缀

时间:2019-06-06 13:33:46

标签: python colorama

我正在尝试使用Colorama打印彩色文本,而我已经尝试过了:

from colorama import Fore, Back, Style

print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

但是它返回此:

[31msome red text
[42mand with a green background
[2mand in dim text
[0m
back to normal now

我想要的时候:

  • 第一行为红色
  • 第二个绿色背景
  • 第三个昏暗的文字
  • 然后一切恢复正常。

我正在Windows 10计算机上使用python 3.7.3,并且从pip下载了最新的colorama。

编辑:我的问题被标记为重复,已经发布了6个answers,因此如果使用它们,将会发生以下情况:

  1. hrbdg的答案要求运行此代码:
from colorama import init, Fore, Back, Style

init(convert=True)

print(Fore.RED + 'some red text')

对我来说,它以标准的蓝色返回some red text

  1. 根据Sean Lynch的要求,我需要对其进行修补。因此,我下载了Ansicon,并按照他/她的说明进行操作。然后我打印:
from colorama import Fore, Back, Style

print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

我再次得到:

[31msome red text
[42mand with a green background
[2mand in dim text
[0m
back to normal now
  1. babrar的答案要求运行此代码:
from colorama import init
from termcolor import colored

init()

print(colored('Hello, World!', 'green', 'on_red'))

对我来说,它会返回蓝色的[41m[32mHello, World![0m

  1. 用户sorin建议使用tendo.colorer,因为我在Windows上没有ANSI。所以我通过pip下载了tento。据他/她说:“只需将其导入代码即可解决问题”。所以我运行这段代码:
from colorama import Fore, Back, Style

from tendo import colorer

print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

但这又返回了……惊奇[31mMy Text is Red,希望我的计算机上现在没有病毒。

  1. 用户kamzur说,问题的原始发布者Mike仅需要在一行中使用一个导入,而不是在三行中使用。这没有帮助。

  2. 用户tcp2008建议运行:

import colorama

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

哪个返回[32m Hey, im green!

0 个答案:

没有答案