无法在Windows上打印彩色文本

时间:2020-05-09 18:38:54

标签: python

我是Python的新手,它试图在控制台中打印彩色文本。我的操作系统是Windows10。代码如下:

class bcolors:
    """
    Colors for console
    """
    HEADER = '\033[95m'
    YGREEN = '\033[92m'
    WARNING = '\033[93m'
    ENDC = '\033[0m'

def main():
    user_name: str = input(
        f'***Hello {bcolors.YGREEN}friend{bcolors.ENDC} Welcome***\nPlease enter your Name:\n')

if __name__ == '__main__':
    main()

但是当我通过CMD或PyCharm执行此代码时,我不会得到彩色文本。输出为:

pic

怎么了?

4 个答案:

答案 0 :(得分:2)

我建议您改用Printy

安装:

pip3 install printy

使用它:

from printy import inputy

user_name = inputy("Hello [n]friend@, \n Please enter your name:)

“ n”标志会将绿色添加到“朋友”一词。这是一个与操作系统无关的库

答案 1 :(得分:1)

尝试在您的主体中使用它: print(bcolors.WARNING + "Warning: No active frommets remain. Continue?" + bcolors.ENDC) 或这个: print(f"{bcolors.WARNING}Warning: No active frommets remain. Continue?{bcolors.ENDC}")

答案 2 :(得分:1)

此代码仅在符合XTerm的Linux / Unix终端上工作。如果您希望此代码有效,请参见https://pypi.org/project/colorama

import colorama
colorama.init(wrap=True)

class bcolors:
    """
    Colors for console
    """
    HEADER = '\033[95m'
    YGREEN = '\033[92m'
    WARNING = '\033[93m'
    ENDC = '\033[0m'

def main():
    print(f'***Hello {bcolors.YGREEN}friend{bcolors.ENDC} Welcome***\nPlease enter your Name:\n', end='')
    user_name: str = input()

if __name__ == '__main__':
    main()

答案 3 :(得分:0)

如果您不想安装任何东西,只需将其添加到代码的开头

import subprocess
subprocess.call('', shell=True)