温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用Python怎么在cmd中打印彩色文字

发布时间:2021-04-19 18:09:02 来源:亿速云 阅读:347 作者:Leah 栏目:开发技术

使用Python怎么在cmd中打印彩色文字?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

python可以做什么

Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,Web开发等。

首先分别介绍GetStdHandle()和SetConsoleTextAttribute()这两个API。

(1) GetStdHandle()的作用是获取输入、输出/错误的屏幕缓冲区的句柄。函数声明如下:

HANDLE GetStdHandle(      DWORD nStdHandle     );

其参数nStdHandle的值为下面几种类型的一种:

STD_INPUT_HANDLE 标准输入的句柄 STD_OUTPUT_HANDLE 标准输出的句柄 STD_ERROR_HANDLE 标准错误的句柄

GetStdHandle()返回标准的输入、输出或错误的设备的句柄,也就是获得输入、输出/错误的屏幕缓冲区的句柄。

(2)SetConsoleTextAttribute() 的作用是在控制台中设置输入或输出文本的文本颜色和背景颜色。其函数声明如下:

 BOOL SetConsoleTextAttribute(    HANDLE hConsoleOutput, // console 屏幕缓冲区的句柄    WORD wAttributes    // 文本及背景的颜色  );

文本与背景颜色设置可以参考Windows上"color /?"命令的说明。颜色属性由两个十六进制数字指定 -- 第一个为背景,第二个则为前景。每个数字可以为以下任何值之一,如下

= 黑色    8 = 灰色 = 蓝色    9 = 淡蓝色 = 绿色    A = 淡绿色 = 浅绿色   B = 淡浅绿色 = 红色    C = 淡红色 = 紫色    D = 淡紫色 = 黄色    E = 淡黄色 = 白色    F = 亮白色

如果函数设置文本及背景颜色成功,则返回非0。如果设置失败返回0。

prt_cmd_color.py参考代码如下:

#-*- coding:utf-8 -*-# #filename: prt_cmd_color.py import ctypes,sys  STD_INPUT_HANDLE = -10 STD_OUTPUT_HANDLE = -11 STD_ERROR_HANDLE = -12  #字体颜色定义 text colors FOREGROUND_BLUE = 0x09 # blue. FOREGROUND_GREEN = 0x0a # green. FOREGROUND_RED = 0x0c # red. FOREGROUND_YELLOW = 0x0e # yellow.  # 背景颜色定义 background colors BACKGROUND_YELLOW = 0xe0 # yellow.  # get handle std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)   def set_cmd_text_color(color, handle=std_out_handle):   Bool = ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)   return Bool  #reset white def resetColor():   set_cmd_text_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)  #green def printGreen(mess):   set_cmd_text_color(FOREGROUND_GREEN)   sys.stdout.write(mess + '\n')   resetColor() #red def printRed(mess):   set_cmd_text_color(FOREGROUND_RED)   sys.stdout.write(mess + '\n')   resetColor()  #yellow def printYellow(mess):   set_cmd_text_color(FOREGROUND_YELLOW)   sys.stdout.write(mess + '\n')   resetColor() #white bkground and black text def printYellowRed(mess):   set_cmd_text_color(BACKGROUND_YELLOW | FOREGROUND_RED)   sys.stdout.write(mess + '\n')   resetColor()  if __name__ == '__main__':   printGreen('printGreen:Gree Color Text')   printRed('printRed:Red Color Text')   printYellow('printYellow:Yellow Color Text')

输出展示:

使用Python怎么在cmd中打印彩色文字

说明:如果需要增加不同前景色或者背景色的组合输出,可以参考代码和上述颜色编号增加。

使用实例

1、将上述prt_cmd_color.py文件放在与待执行脚本ping_ip.py同一目录下。或者通过sys.path.append()将prt_cmd_color.py文件所在的目录添加到搜索路径下。

2、ping_ip.py脚本中import prt_cmd_color导入模块或者执行from prt_cmd_color import printGreen, printRed导入指定函数。

3、ping_ip.py代码内容如下:

import os, sys sys.path.append('d:\temp') from prt_cmd_color import printGreen, printRed for ip in ['192.168.1.104', '192.168.1.105']:   ret = os.system('ping -n 2 -w 3 %s > nul' % (ip,))   if ret == 0:     printGreen("%s success" % (ip,))   else:     printRed("%s fail" % (ip,))

4、执行结果如下图所示。命令执行成功,以绿色显示提示信息,执行失败以红色显示提示信息。

使用Python怎么在cmd中打印彩色文字

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI