简介

Python的Colorama模块,可以跨多终端,显示字体不同的颜色和背景,只需要导入colorama模块即可,不用再每次都像linux一样指定颜色。

1. 安装colorama模块

pip install colorama

  

2. 常用格式常数

Fore是针对字体颜色,Back是针对字体背景颜色,Style是针对字体格式

Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
Style: DIM, NORMAL, BRIGHT, RESET_ALL

注意,颜色RED,GREEN都需要大写,先指定是颜色和样式是针对字体还是字体背景,然后再添加颜色,颜色就是英文单词指定的颜色 

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')

 输出结果

# 记得要及时关闭colorma的作用范围
# 如果不关闭的话,后面所有的输出都会是你指定的颜色 print(Style.RESET_ALL)

 


3.Init关键字参数:

init()接受一些* * kwargs覆盖缺省行为,

autoreset是自动恢复到默认颜色

init(autoreset = False):

init(wrap=True):The default behaviour is to convert if on Windows and output is to a tty (terminal).

在windows系统终端输出颜色要使用init(wrap=True)

#!/usr/bin/env python
#encoding: utf-8 from colorama import init, Fore, Back, Style if __name__ == "__main__": init(autoreset=True) # 初始化,并且设置颜色设置自动恢复
print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
# 如果未设置autoreset=True,需要使用如下代码重置终端颜色为初始设置
#print(Fore.RESET + Back.RESET + Style.RESET_ALL) autoreset=True
print('back to normal now')

  

输出结果

4.使用实例

import sys
import os
import random
import string
from colorama import Fore,Style,init
import platform def print_arg(arg):
"""
打印参数
:param arg:
:return:
""" for ind, val in enumerate(arg):
if ind == 0: print_color(Fore.YELLOW,r"------执行%s输入参数为--------"% val)
else:
print(val, end=",") def print_color(color, mes=""):
"""
获得系统平台
windows终端需要设置
init(wrap=True)
:param color:
:param mes:
:return:
"""
v_system = platform.system()
if v_system != 'Windows':
print(color+mes)
else:
# init(wrap=True)
print(color+mes) # 获得系统参数
v_arg = sys.argv
init(autoreset=True) # 初始化,并且设置颜色设置自动恢复
# print_color(Fore.YELLOW+platform.system())
if len(v_arg) != 4:
# print(platform.system())
print_arg(v_arg)
print_color(Fore.RED,"---参数输入错误--")
print_color(Fore.RED, "fileStrReplace.py 文件名 旧字符串 新字符串")
else:
f_name = v_arg[1].strip()
old_str = v_arg[2].strip() # 旧字符
new_str = v_arg[3].strip() # 替换的新字符
f_new_name = "%s.new" % f_name
replace_count = 0 # 字符替换次数
if not os.path.exists(f_name):
print_color(Fore.YELLOW, "%s文件不存在" % f_name)
else:
f_new = open(f_new_name, 'w')
f = open(f_name, "r",)
for line in f: # 读取大文件
if old_str in line:
new_line = line.replace(old_str, new_str) # 字符替换
replace_count += 1
else:
new_line = line f_new.write(new_line) # 内容写新文件 f.close()
f_new.close() if replace_count == 0:
print_color(Fore.YELLOW,"字符%s不存在" % (old_str))
else:
bak_f = f_name + ''.join(random.sample(string.digits, 6))
os.rename(f_name, bak_f) # 备份旧文件
os.rename(f_new_name, f_name) # 把新文件名字改成原文件的名字,就把之前的覆盖掉了
print_color(Fore.GREEN, "文件替换成功,[字符%s替换%s]共%s次,源文件备份[%s]" % (old_str,new_str, replace_count,bak_f)) # print_color(Style.RESET_ALL) # 还原默认颜色

  

Python常用模块—— Colorama模块的更多相关文章

  1. Python常用内建模块

    Python常用内建模块 datetime 处理日期和时间的标准库. 注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import da ...

  2. python常用内建模块 collections,bs64,struct,hashlib,itertools,contextlib,xml

    #  2  collections 是Python内建的一个集合模块,提供了许多有用的集合类. # 2.1 namedtuple #tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: p ...

  3. Python 常用内建模块(time ,datetime)

    1,在Python中,与时间处理有关的模块就包括:time,datetime以及calendar. 2,在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(st ...

  4. python常用命令—查看模块所在位置

    环境:ipython3 交互式解释器 语法: import 模块名 模块名.__file__ 功能: 查看模块的所在位置 例:

  5. python常用函数及模块

    原文来源于博客园和CSDN 1.计算函数 abs()--取绝对值 max()--取序列最大值,包括列表.元组 min()--取序列最小值 len()--取长度 divmod(a,b)---取a//b除 ...

  6. Python 常用内建模块(os, sys,random)

    一.os 模块 1,操作系统与环境变量 import osprint(os.name) #操作系统类型,如果是posix 说明系统是linux unix 或 mac os x :如果是nt 就是win ...

  7. python常用内建模块——datetime

    datetime是python处理日期和时间的标准库. 获取当前日期和时间 >>>from datetime import datetime >>>now = da ...

  8. collections(python常用内建模块)

    文章来源:https://www.liaoxuefeng.com/wiki/897692888725344/973805065315456 collections collections是Python ...

  9. Python常用内建模块和第三方库

    目录 内建模块 1  datetime模块(处理日期和时间的标准库) datetime与timestamp转换 str与datetime转换 datetime时间加减,使用timedelta这个类 转 ...

随机推荐

  1. Communication Model

    [Communication Model] EOSIO actions operate primarily in a message-based communication architecture. ...

  2. Windows驱动开发VS2012 DDK/WDK的环境配置

    [开发Windows驱动的配置是很必要的,下文将详细介绍VS2012如何配置驱动开发环境] [转载] 以下部分内容是转载博客:http://blog.csdn.net/huangxy10/articl ...

  3. POJ-1797.HeavyTransportation(最长路中的最小权值)

    本题思路:最短路变形,改变松弛方式即可,dist存的是源结点到当前结点的最长路的最小权值. 参考代码: #include <cstdio> #include <cstring> ...

  4. 从汇编层面解释switch语句判断快速的原因

      源码如下: #include <stdio.h>   void main(){     int flag;     flag=1;     switch (flag){         ...

  5. node.js中express使用cookie-parser 和 cookie-session处理会话

    cookie-parser 中间件用来解析客户端传过来的cookie,cookie-session 中间件用来建立基于cookie的会话session. 一.安装 cookie-parser 和 co ...

  6. 基于springboot的restful接口的单元测试示例

    一.知识点 代码中对应的知识点 1.jsonPath github网址 1)操作符见文档 2)方法见文档 3)例子见文档 2.MockMvc(org.springframework.test.web. ...

  7. 利用python如何实现团队成员动态抓阄?

    解决思路: 1 确定团队成员个数num,然后根据成员个数生成元素非重复的数组: 2 构成一个团队成员字典,键:成员名  值:0, 然后将生成的数组分别赋值给字典键对应的值: 话不多说,看代码便知: # ...

  8. magento中Model创建以及该Model对于数据库的增删改查

    本文是按照magento英文文档照做与翻译的. Model层的实现是mvc框架的一个巨大的部分.它代表了你的应用的数据,或者说大多数应用没有数据是无用的.Magento的Model扮演着一个重要的角色 ...

  9. boost asio 学习(五) 错误处理

    http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting-started-with-boostasio?pg=6 5. Erro ...

  10. tcp、ip、http

    tcp是传输层协议,ip是网络层协议,http是应用层协议,简单说就是tcp是传输数据,而http是封装数据. rpc与http的区别是项目大的话,接口间调用变多的话,采用rpc的话,不用像http那 ...