用颜色打印cmd

时间:2018-02-16 13:14:54

标签: python python-3.x colorama

我正在尝试获得彩色命令行输出。我可以使用colorama获得彩色的Python控制台输出:

from colorama import Fore
from colorama import Style

print(f'{Fore.GREEN}A')
print(f'{Fore.RED}B')
print('C')
print(f'{Style.RESET_ALL}D')
print('E')

这完全适用于PyCharm中的Python控制台。但是,如果我在Windows cmd下运行该程序。根本没有颜色,但只添加了colorama文本而没有任何影响:

←[32mA
←[31mB
C
←[0mD
E

我可以修改代码,使其在Windows cmd中也有效吗?

2 个答案:

答案 0 :(得分:2)

您需要在colorama init调用中添加convert=True

from colorama import Fore, Style, init

init(convert=True)

print(f'{Fore.GREEN}A')
print(f'{Fore.RED}B')
print('C')
print(f'{Style.RESET_ALL}D')
print('E')

答案 1 :(得分:0)

在Jeremiah的帮助下,我能够在PyCharm和cmd中使它工作。这是完整的代码:

from colorama import Fore, Style, init
import psutil
import os

if psutil.Process(os.getpid()).parent().name() == 'cmd.exe':
    init(convert=True)

print(f'{Fore.GREEN}A')
print(f'{Fore.RED}B')
print('C')
print(f'{Style.RESET_ALL}D')
print('E')