英语单词优化

上篇文章写到了Python开发英语单词记忆工具,其中依赖了bootstrap.css jQuery.js 基础html模块以及片段的css样式。有些朋友问,怎么能将这个练习题打包成单独的exe可执行文件,来脱离python环境使用呢?

在这里跟大家简单说下思路,有需求的朋友可以自己去扒拉扒拉…

依赖的css和js,如果有外网的前提,可以使用bootcdn提供的链接引用:

https://cdn.bootcss.com/jquery/3.4.0/jquery.min.js

https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css

自己编辑的css样式,可以添加在head中的style中

基础html可以作为一大段的string在python中进行定义,最终替换关键内容后输出。至于cet4的单词表,建议就不要添加在代码中了,和打出来的exe文件放置在一起即可。

好了,思路就是这些,喜欢的朋友可以去尝试做一下,这样就可以无时无刻给自己出一份英语练习测试题了。

Python风骚的打印!

大家平时在Linux/Windows下安装软件时,经常会出现进度条和百分比的提示,Python是否能实现这样的打印?安装过程中,经常会看到很多带颜色的安装说明,我们在python输出时,确是千篇一律的黑底白色,是否想过打印的炫酷一些呢?

以上操作其实很简单,今天就来教教大家,通过几分钟的学习让之后代码的输出变得与众不同!

Python打印进度条

python打印进度条的原理其实很简单,先让我们看一个例子吧:

# -*- coding: utf-8 -*-
# @Author : 王翔
# @WeChat : King_Uranus
# @公众号 : 清风Python
# @Date : 2019/9/16 22:09
# @Software : PyCharm
# @version :Python 3.7.3
# @File : ProgressBar.py import time def progress_bar(total):
if total <= 0:
raise ValueError("Wrong total number ...")
# step = (100 // total if total <= 100 else total // 100) for i in range(0, total):
time.sleep(0.05)
step = int(100 / total * (i + 1))
str1 = '\r[%3d%%] %s' % (step, '>' * step)
print(str1, end='', flush=True) progress_bar(20)
print()
progress_bar(110)

我们通过自己实现了进度条的展示,那么python是否具备现成的模块呢?答案是Yes![ tqdm ]

Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。

安装:pip install tqdm

来看一个例子:

from tqdm import tqdm
import string
import time for char in tqdm(string.ascii_uppercase):
time.sleep(0.1) for i in tqdm(range(50)):
time.sleep(0.05)

tqdm的强大远不止此,喜欢的朋友可以去它的git网址详细学习:https://github.com/tqdm/tqdm

Python带色彩输出

python颜色输出其实只是调用了命令号的相关特殊标记,shell中我们也经常使用它:

print('\033[30m打印前景色0\033[0m')
print('\033[31m打印前景色1\033[0m')
print('\033[32m打印前景色2\033[0m')
print('\033[33m打印前景色3\033[0m')
print('\033[34m打印前景色4\033[0m')
print('\033[35m打印前景色5\033[0m')
print('\033[36m打印前景色6\033[0m')
print('\033[37m打印前景色7\033[0m')
print('\033[40m打印背景色0\033[0m')
print('\033[41m打印背景色1\033[0m')
print('\033[42m打印背景色2\033[0m')
print('\033[43m打印背景色3\033[0m')
print('\033[44m打印背景色4\033[0m')
print('\033[45m打印背景色5\033[0m')
print('\033[46m打印背景色6\033[0m')
print('\033[47m打印背景色7\033[0m')
print('\033[0m打印显示方式0\033[0m')
print('\033[1m打印显示方式1\033[0m')
print('\033[4m打印显示方式4\033[0m')
print('\033[5m打印显示方式5\033[0m')
print('\033[7m打印显示方式7\033[0m')
print('\033[8m打印显示方式8\033[0m')
print('\033[5;31;47m综合打印\033[0m')

每条默认的**\033[0m为回复终端默认

最后一个
\033[5;31;47m**综合打印为使用闪烁方式红色字体白色背景色打印文字!

参数说明:

前景色 背景色 颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黃色
34 44 洋红
36 46 青色
37 47 白色
显示方式 意义
0 终端默认设置
1 高亮显示
22 非高亮显示
4 使用下划线
24 去下划线
5 闪烁
25 去闪烁
7 反白显示
27 非反显
8 不可见
28 可见

那么和上面一样的套路,python中是否有模块能实现这种颜色打印的功能呢?答案依然是Yes! [ colorama ]

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

pip install colorama

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

>>> from colorama import Fore, Back, Style
>>> print(Fore.RED + '打印红色文字')
>>> 打印红色文字
>>> print(Back.GREEN + '设置背景为绿色')
>>> 设置背景为绿色
>>> print(Style.RESET_ALL)
>>> print('恢复默认')
>>> 恢复默认

细心的网友看到,我们如果没有恢复默认的话,会继承上面的颜色状态。那么,如何像刚才一样,每次输出后自动化恢复呢?

from colorama import init, Fore, Back, Style

init(autoreset=True)
print(Fore.RED + '打印红色文字')
print(Back.GREEN + '设置背景为绿色')
print('恢复默认')

关于装13,只能帮大家到这里了,希望今天的内容大家能喜欢…

作者:清风Python

来看看Python炫酷的颜色输出与进度条打印的更多相关文章

  1. shell实现带颜色输出的进度条

    1.基础版 #!/bin/bash b='' ;$i<=;i+=)) do printf "执行进度 :[%-50s]%d%%\r" $b $i sleep 0.001 b= ...

  2. 初识python: flush 实现进度条打印

    通过flush(强制刷新)实现,类似进度条打印: #!/user/bin env python # author:Simple-Sir # time:20180918 #打印进度条 import sy ...

  3. 利用Python计算π的值,并显示进度条

    利用Python计算π的值,并显示进度条  第一步:下载tqdm 第二步;编写代码 from math import * from tqdm import tqdm from time import ...

  4. python实现socket上传下载文件-进度条显示

    在python的socket编程中,可以实现上传下载文件,并且在下载的时候,显示进度条,具体的流程如下图所示: 1. 服务器端代码如下: [root@python 519]# cat server.p ...

  5. python预课02 time模块,文本进度条示例,数字类型操作,字符串操作

    time模块 概述:time库是Python中处理时间的标准库,包含以下三类函数 时间获取: time(), ctime(), gmtime() 时间格式化: strftime(), strptime ...

  6. 用Python给你的代码上个进度条吧 | 【代码也要面子的】

    微信公众号:AI算法与图像处理如果你觉得对你有帮助,欢迎关注.转发以及点赞哦-( ̄▽ ̄-)~ 前言 最近在跑一些代码的时候,很烦...因为有时候不知道这段程序什么时候能执行完,现在执行哪里了,如果报错 ...

  7. python学习,day3:示例,进度条

    # coding=utf-8 # Author: RyAn Bi import sys,time for i in range(50): sys.stdout.write("#") ...

  8. python 进度条 打印

  9. CAGradientLayer 颜色渐变实现进度条

    #import <UIKit/UIKit.h> @interface TJGradientProgressView : UIView /** * 进度值 */ @property(nona ...

随机推荐

  1. [考试反思]0718 NOIP模拟测试5

    最后一个是我...rank#11 rank#1和rank#2被外校大佬包揽了. 啊...考的太烂说话底气不足... 我考场上在干些什么啊!!! 20分钟“切”掉T2,又27分钟“切”掉T1 切什么切, ...

  2. Hadoop3.2.1版本的环境搭建

    最近有人提出能不能发一些大数据相关的知识,No problem ! 今天先从安装环境说起,搭建起自己的学习环境. Hadoop的三种搭建方式以及使用环境: 单机版适合开发调试: 伪分布式适合模拟集群学 ...

  3. 开发板,pc,虚拟机三者如何互相ping通

    1 安装虚拟机时,主机和虚拟机必须是桥接网卡,保证了ip 同一:192,168,1,xx 2 打开虚拟机之前,先把pc机的无线网卡禁用掉只能使用本地连接,pc通过网线连接上网,打开虚拟机,命令行输入: ...

  4. websocket socketJs

    springboot实现服务器端消息推送(websocket + sockjs + stomp)   服务器端推送技术在web开发中比较常用,可能早期很多人的解决方案是采用ajax向服务器轮询消息,这 ...

  5. 简单看看@RequestBody注解原理

    又到了很无聊的时候了,于是随便看看源码假装自己很努力的样子,哈哈哈: 记得上一篇博客随便说了一下RequestBody的用法以及注意的问题,这个注解作为非常常用的注解,也是时候了解一波其中的原理了. ...

  6. 为什么 HTTPS 比 HTTP 安全

    HTTP(超文本传输协议)是目前互联网应用最广泛的协议,伴随着人们网络安全意识的加强,HTTPS 被越来越多地采纳.不论是访问一些购物网站,或是登录一些博客.论坛等,我们都被 HTTPS 保护着,甚至 ...

  7. ReentrantLock 如何实现非公平锁?和公平锁实现有什么区别

    reentrant 英[riːˈɛntrənt] 美[ˌriˈɛntrənt] 先学会读.单词原意是可重入的 考察显示锁的使用.可延伸知识点 独占锁 & 共享锁 独占锁 - 悲观锁(不能同时被 ...

  8. nyoj 1071-不可以!(a*b + fabs(a*b))

    1071-不可以! 内存限制:64MB 时间限制:1000ms 特判: No 通过数:10 提交数:18 难度:1 题目描述: 判断:两个数x.y的正负性. 要求:不可以使用比较运算符,即" ...

  9. nyoj 169-素数 (打表)

    169-素数 内存限制:64MB 时间限制:3000ms 特判: No 通过数:42 提交数:84 难度:1 题目描述: 走进世博园某信息通信馆,参观者将获得前所未有的尖端互动体验,一场充满创想和喜悦 ...

  10. 力扣(LeetCode)长按键入 个人题解

    你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应的可能是你的朋友的名字(其中一 ...