简介

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_Python常用模块—— Colorama模块相关推荐

  1. python colorama_Python基础教程 Colorama模块

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

  2. Python常用模块—— Colorama模块

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

  3. python中常用的序列化模块_第六章 常用模块(5):python常用模块(序列化模块:pickle,json,shelve,xml)...

    6.3.7 序列化模块 (pickle,json,shelve,xml) 文件写入,数据传输时,我们都是以字符串形式写入的(因为字符串可以encode成bytes). 那其他类型(比如字典,列表等)想 ...

  4. python中常用的序列化模块_Python 中的序列化模块

    封面图片来源:沙沙野 序列化模块前面讲到解码编码的时候提过,网络数据传输只能通过 bytes 类型.而文件写入内容(不是指存储)既可以是 bytes,也可以是 string.这些操作都可以使用 eva ...

  5. python中常用的序列化模块_Python中的序列化和反序列化

    为什么要序列化 内存中的字典.列表.集合以及各种对象,如何保存到一个文件中. 设计一套协议,按照某种规则,把内存中的数据保存到文件中,文件是一个个字节序列.所以必须把数据额转换为字节序列,输出到文件, ...

  6. python中常用的序列化模块_使用pickle模块对python对象进行序列化

    pickle模块是Python自带的一个标准模块,专用于Python各种对象的序列化和反序列化,可用于Python内置的各种数据对象(Python中一切都是对象),也可用于程序员自定义的类和对象. p ...

  7. python中常用的序列化模块_python 序列化,常用模块

    生成器与迭代器 生成器 在 Python 中,使用了 yield 的函数被称为生成器(generator). 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是 ...

  8. 【python】常用内建模块

    [datetime] No1: 获取当前时间 No2: 时区转换 >>> from datetime import datetime, timedelta, timezone > ...

  9. python中常用的序列化模块_Python常用模块之pickle——对象序列化

    作用 对Python对象进行序列化,便于存储和传输 Python对象序列化成bytes类型 pickle.dumps(obj) 将Python对象转化为bytes类型 pickle.loads(str ...

最新文章

  1. ​谷歌大神 Jeff Dean 领衔,万字展望5大 AI 趋势
  2. tomcat配置文件修改
  3. 插入排序之Java实现
  4. Asp.Net函数集
  5. 通过注册表修改远程桌面默认3389端口
  6. java基础知识一_Java基础知识(一)
  7. 动态代理之: com.sun.proxy.$Proxy0 cannot be cast to 问题
  8. opencv图像处理时使用stringstream批量读取图片,处理后并保存
  9. Qt工作笔记-使用QGraphicsItem绘制复杂的图形
  10. HTML只言片语网站导航模板
  11. 基于SpringBoot+WebMagic实现一个的爬虫框架
  12. 灰度与NFL纽约巨人队达成合作,成为NFL球队首个加密赞助商
  13. html5中的FileReader对象
  14. 存储引擎和Mysql服务层出现索引信息不一致错误提示
  15. python中数据存入execle、读取excel数据
  16. python 进位_Python中常见的数制转换的说明
  17. python加redis使用教程_python操作Redis入门教程①
  18. 部署CentOS可视化界面GUI-之腾讯云服务器
  19. 电脑新加内存条后 游戏崩溃 浏览器卡死 电脑蓝屏
  20. 【px4编译】make px4fmu-v3_default upload 不能使用

热门文章

  1. JAVA基础之n+=1与n=n+1的区别
  2. Java反射获取Android系统属性值
  3. 利用vuex和localStorage实现vue菜单权限管理(笔记)
  4. JS代码实现浏览器切换页面时网页标题动态切换
  5. nodejs连接mysql哪个版本_nodejs连接mysql
  6. 交互设计软件 html,交互设计工具篇
  7. java类中的static块_java类中static代码块的执行次数
  8. 如何获取一个随机数:10 - 99
  9. sql 更新一些特殊要求字段(批量)
  10. android 焦点动画,在一个视图/imageview上获得焦点时,实现android缩放动画?_animation_开发99编程知识库...