吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2181|回复: 14
收起左侧

[Python 原创] python在命令行打印彩色文字

  [复制链接]
c03xp 发表于 2020-9-7 09:01
本帖最后由 c03xp 于 2020-9-7 13:58 编辑

自己研究的,不知道以前有没有人发过。比较实用,使用时把echo函数复制粘贴一下就行了
[Python] 纯文本查看 复制代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-


import ctypes
def echo(*o,c=7,sep=' ',end='\n'):k=ctypes.WinDLL("Kernel32.dll");h=k.GetStdHandle(-11);f=k.SetConsoleTextAttribute;f(h,c);print(*o,sep=sep,end=end,flush=True);f(h,7)


'''下面三行不是必须的,加上它会使程序更加严谨'''
import signal
def keyboard_handler(signum, frame):k=ctypes.WinDLL("Kernel32.dll");h=k.GetStdHandle(-11);f=k.SetConsoleTextAttribute;f(h,7);exit(0)
signal.signal(signal.SIGINT, keyboard_handler) 
'''
-参数c    高8位:背景色     低8位:前景色     (8421-高红绿蓝)
'''
def test():
    echo("[WARN]",c=10,end=" ")
    echo("echo函数只在windows命令行下有效")
    echo("[INFO]",c=9,end=" ")
    echo("echo函数在PowerShell下会改变蓝色背景")  
    echo("[ERROR]",c=13,end="不支持flush=False;file参数只支持stdout,若要写入文件,可使用原生print函数\n")
    echo("[FATAL]",c=12,end="可以调用GetConsoleScreenBufferInfo完善echo函数\n\n")
    echo(["打","印","列","表"],c=14)
    echo("顺","序","打","印",sep=",",c=9)
    echo("黄底绿字",c=0xE2)

   
    
if __name__ == '__main__':
    test()
image.png

免费评分

参与人数 3吾爱币 +3 热心值 +2 收起 理由
MC24 + 1 + 1 我很赞同!
王星星 + 1 + 1 谢谢@Thanks!
daoziduxia + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

i傻墩儿 发表于 2020-9-7 09:16
大佬大佬学会了
zsjalive 发表于 2020-9-7 09:17
sssr 发表于 2020-9-7 09:20
 楼主| c03xp 发表于 2020-9-7 09:24
谢谢支持,互相学习
cj13888 发表于 2020-9-7 09:27
值得一试,谢谢分享
勇敢南山 发表于 2020-9-7 09:29
厉害厉害,感谢分享
Ricky_Xiao 发表于 2020-9-7 09:42
大佬,厉害
头像被屏蔽
王星星 发表于 2020-9-7 09:50
提示: 作者被禁止或删除 内容自动屏蔽
strive_w 发表于 2020-9-7 10:27
谢谢分享  ,谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 02:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表