简介

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

1. 安装colorama模块

1
pip install colorama

  

2. 常用格式常数

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

1
2
3
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都需要大写,先指定是颜色和样式是针对字体还是字体背景,然后再添加颜色,颜色就是英文单词指定的颜色 

1
2
3
4
5
6
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')

 输出结果

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

 

3.Init关键字参数:

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

autoreset是自动恢复到默认颜色

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/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.使用实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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')
        = 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常用模块—— Colorama模块

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

  2. Python入门之Python Colorama模块

    Python的Colorama模块,可以跨多终端,显示字体不同的颜色和背景,只需要导入colorama模块即可,不用再每次都像linux一样指定颜色: 官方参考:https://pypi.org/pr ...

  3. python colorama模块

    colorama是一个python专门用来在控制台.命令行输出彩色文字的模块,可以跨平台使用. 1. 安装colorama模块 pip install colorama 可用格式常数: Fore: B ...

  4. python的库有多少个?python有多少个模块?

    这里列举了大概500个左右的库: !   Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主 ...

  5. python之platform模块

    python之platform模块 ^_^第三个模块从天而降喽!! 函数列表 platform.system() 获取操作系统类型,windows.linux等 platform.platform() ...

  6. python之OS模块详解

    python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...

  7. python之sys模块详解

    python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...

  8. 学习PYTHON之路, DAY 6 - PYTHON 基础 6 (模块)

    一 安装,导入模块 安装: pip3 install 模块名称 导入: import module from module.xx.xx import xx from module.xx.xx impo ...

  9. linux下python调用c模块

    在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明:   (1)编写C代码,hel ...

随机推荐

  1. django小知识(2)

    昨日内容回顾 1.choices参数 class Userinfo(models.Model): username = ... age = ... gender_choice = ( (1,'male ...

  2. 那周余嘉熊掌将得队对男上加男,强人所男、修!咻咻! 团队的Beta产品测试报告

    作业格式 课程名称:软件工程1916|W(福州大学) 作业要求:Beta阶段团队项目互评 团队名称: 那周余嘉熊掌将得队 作业目标:项目互测互评 队员学号 队员姓名 博客地址 备注 221600131 ...

  3. python基础:zip和dict详解

    一.zip函数:接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表. 1.示例1: x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zi ...

  4. servlet 容器与servlet

    servlet代表应用 解析Tomcat内部结构和请求过程 https://www.cnblogs.com/zhouyuqin/p/5143121.html servlet的本质是什么,它是如何工作的 ...

  5. swift语法之常量 变量 类型

    常量和变量: 在swift中声明变量或者声明常量的时候可以不用写变量或者常量类型 因为系统会自动推导出对应的类型. 变量:可以更改值 swift中每句代码后面不需要加 ; 号 var num = 5 ...

  6. Longest Common Substring SPOJ - LCS (后缀自动机)

    Longest Common Substring \[ Time Limit: 294ms \quad Memory Limit: 1572864 kB \] 题意 给出两个串,求两个串的最长公共连续 ...

  7. AsyncAPI 试用

    AsyncAPI 提供了类似openapi的代码生成,以下demo,来自官方,只是目前官方的generator有些问题以下 同时说明运行中的一些问题 环境准备 主要是安装依赖组件 npm instal ...

  8. The Ultimate Guide to handling JWTs on frontend clients (GraphQL)

    转自:https://blog.hasura.io/best-practices-of-using-jwt-with-graphql/ hasura 团队关于jwt 的实践 JWTs (JSON We ...

  9. python3 安装 pillow报错

    前言 最近要使用pillow库, 来训练验证码模型, 但是死活都安装不上 环境 docker中安装, python3 尝试安装 pip install pillow easy_install Pill ...

  10. 将两个各有n个元素的有序表归并成一个有序表,其最多的比较次数

    最多的比较次数是当两个有序表的数据刚好是插空顺序的时候,比如:第一个序列是1,3,5,第二个序列是2,4,6,把第二个序列插入到第一个序列中,先把第二个序列中的第一个元素2和第一个序列依次比较,需要比 ...