python colorama_Python常用模块—— Colorama模块
简介
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模块相关推荐
- python colorama_Python基础教程 Colorama模块
原标题:Python基础教程 Colorama模块 Python的Colorama模块,可以跨多终端,显示字体不同的颜色和背景,只需要导入colorama模块即可,不用再每次都像linux一样指定颜色 ...
- Python常用模块—— Colorama模块
简介 Python的Colorama模块,可以跨多终端,显示字体不同的颜色和背景,只需要导入colorama模块即可,不用再每次都像linux一样指定颜色. 1. 安装colorama模块 pip i ...
- python中常用的序列化模块_第六章 常用模块(5):python常用模块(序列化模块:pickle,json,shelve,xml)...
6.3.7 序列化模块 (pickle,json,shelve,xml) 文件写入,数据传输时,我们都是以字符串形式写入的(因为字符串可以encode成bytes). 那其他类型(比如字典,列表等)想 ...
- python中常用的序列化模块_Python 中的序列化模块
封面图片来源:沙沙野 序列化模块前面讲到解码编码的时候提过,网络数据传输只能通过 bytes 类型.而文件写入内容(不是指存储)既可以是 bytes,也可以是 string.这些操作都可以使用 eva ...
- python中常用的序列化模块_Python中的序列化和反序列化
为什么要序列化 内存中的字典.列表.集合以及各种对象,如何保存到一个文件中. 设计一套协议,按照某种规则,把内存中的数据保存到文件中,文件是一个个字节序列.所以必须把数据额转换为字节序列,输出到文件, ...
- python中常用的序列化模块_使用pickle模块对python对象进行序列化
pickle模块是Python自带的一个标准模块,专用于Python各种对象的序列化和反序列化,可用于Python内置的各种数据对象(Python中一切都是对象),也可用于程序员自定义的类和对象. p ...
- python中常用的序列化模块_python 序列化,常用模块
生成器与迭代器 生成器 在 Python 中,使用了 yield 的函数被称为生成器(generator). 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是 ...
- 【python】常用内建模块
[datetime] No1: 获取当前时间 No2: 时区转换 >>> from datetime import datetime, timedelta, timezone > ...
- python中常用的序列化模块_Python常用模块之pickle——对象序列化
作用 对Python对象进行序列化,便于存储和传输 Python对象序列化成bytes类型 pickle.dumps(obj) 将Python对象转化为bytes类型 pickle.loads(str ...
最新文章
- ​谷歌大神 Jeff Dean 领衔,万字展望5大 AI 趋势
- tomcat配置文件修改
- 插入排序之Java实现
- Asp.Net函数集
- 通过注册表修改远程桌面默认3389端口
- java基础知识一_Java基础知识(一)
- 动态代理之: com.sun.proxy.$Proxy0 cannot be cast to 问题
- opencv图像处理时使用stringstream批量读取图片,处理后并保存
- Qt工作笔记-使用QGraphicsItem绘制复杂的图形
- HTML只言片语网站导航模板
- 基于SpringBoot+WebMagic实现一个的爬虫框架
- 灰度与NFL纽约巨人队达成合作,成为NFL球队首个加密赞助商
- html5中的FileReader对象
- 存储引擎和Mysql服务层出现索引信息不一致错误提示
- python中数据存入execle、读取excel数据
- python 进位_Python中常见的数制转换的说明
- python加redis使用教程_python操作Redis入门教程①
- 部署CentOS可视化界面GUI-之腾讯云服务器
- 电脑新加内存条后 游戏崩溃 浏览器卡死 电脑蓝屏
- 【px4编译】make px4fmu-v3_default upload 不能使用
热门文章
- JAVA基础之n+=1与n=n+1的区别
- Java反射获取Android系统属性值
- 利用vuex和localStorage实现vue菜单权限管理(笔记)
- JS代码实现浏览器切换页面时网页标题动态切换
- nodejs连接mysql哪个版本_nodejs连接mysql
- 交互设计软件 html,交互设计工具篇
- java类中的static块_java类中static代码块的执行次数
- 如何获取一个随机数:10 - 99
- sql 更新一些特殊要求字段(批量)
- android 焦点动画,在一个视图/imageview上获得焦点时,实现android缩放动画?_animation_开发99编程知识库...