python progressbar print_python print 进度条的例子

def progress(width, percent):

print "%s %d%%\r" % (('%%-%ds' % width) % (width * percent / 100 * "="), percent),

if percent >= 100:

print

sys.stdout.flush()

首先,先说明一下print的一些用法:

和C语言一样,字符串里的匹配使用‘%’和相关的转移类型组成的:

转换类型          含义

d,i                 带符号的十进制整数

o                   不带符号的八进制

u                   不带符号的十进制

x                    不带符号的十六进制(小写)

X                   不带符号的十六进制(大写)

e                   科学计数法表示的浮点数(小写)

E                   科学计数法表示的浮点数(大写)

f,F                 十进制浮点数

g                   如果指数大于-4或者小于精度值则和e相同,其他情况和f相同

G                  如果指数大于-4或者小于精度值则和E相同,其他情况和F相同

C                  单字符(接受整数或者单字符字符串)

r                    字符串(使用repr转换任意python对象)

s                   字符串(使用str转换任意python对象)

>>> pi = 3.141592653

>>> print('%10.3f' % pi) #字段宽10,精度3

3.142

>>> print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度

pi = 3.142

>>> print('%010.3f' % pi) #用0填充空白

000003.142

>>> print('%-10.3f' % pi) #左对齐

3.142

>>> print('%+f' % pi) #显示正负号

+3.141593

%-NType:

这样表示显示字符串预留的长度. 例如

print('%-10.3f' % pi)

表示显示pi保留小数点以后3位,字符串的宽度为10.

好,现在我回到开头的函数,并做一些说明:

现在假设width = 100, percent = 2.

可以看出,这里的字符串是嵌套的,我们首先对第一个表达式进行解析,那么

('%%-%ds' % width)

的内容是: str1 = '%-100s',这个字符串嵌套了后一个字符串的内容,也就是

(width * percent / 100 * "=")

根据python的字符串可以相乘的原理,我们得到这个字符串其实就是str2 = 100*2/100*"=",也就是两个等号‘==’。

由于str2是嵌入在str1中的,那么我们继续对此进行解析,这里是str1的意思就是显示str2, 并使得字符串的宽度为100. 不足的用空格填充。

所以我们得到"==                                                                                                  " , 2%

所以当percent变化时,程序就打印用等号表示的进度条。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430911.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux中常用的shell脚本,Linux常用shell脚本

1. 设置ssh、scp命令的认证运行一次脚本后,以后再使用ssh或scp命令登录远程机器时不再提示输入密码-----------------setkey.sh开始-------------------------OLDDIRpwdif [ -z "$1" ]; thenecho Need userhost info;exit;fi;cd $HOME;if [ -e "./.s…

HDU 2042:不容易系列之二

不容易系列之二 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 5 Accepted Submission(s) : 5 Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description 你活的不容易,我活…

统计建模与r软件_【统计建模与R软件笔记】008 描述统计量(1)

今天我们开始来学习描述统计量吧!位置的度量位置的度量就是用来描述定量资料的集中趋势的统计量,常用的有均值、众数、中位数、百分位数等。1.均值 mean( )形式:mean(x, trim 0, na.rm FALSE)x 是对象(如向量、矩阵、数组或数据框)trim 是计…

npm环境安装linux,Node.js环境在linux上的部署教程

我们以centOS为例来说说如何部署node.js环境一 打开centos,然后开始下载node.js包curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -yum -y install nodejs二 安装gcc环境yum install gcc-c make安装完成!三 安装nodejs的npm,这是一个包程序工具,类似于…

Nancy跨平台开发总结(三)发布到Jexus Web服务器

在Centos7上安装Mono yum install yum-utils rpm --import "http://keyserver.ubuntu.com/pks/lookup?opget&search0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" yum-config-manager --add-repo http://download.mono-project.com/repo/centos/ yum install m…

stat函数_数据分析工具入门 掌握这些Excel函数就够了

1.什么是函数可以把函数理解为一个可以控制的黑箱子,输入X到黑箱子中,他就会输出Y,参数就是黑箱子的控制开关,打到不同的档位,黑箱子会输出不同的Y。2.常见函数分类文本清洗函数关联匹配函数逻辑运算函数计算统计函数时…

linux安装nodejs一键脚本,ubuntu16.04部署nodejs+vue框架脚本

#获取和安装nodewget https://nodejs.org/dist/v8.9.2/node-v8.9.2-linux-x64.tar.xzxz -d node-v8.9.2-linux-x64.tar.xztar xf node-v8.9.2-linux-x64.tar -C /usr/local#创建软连接ln -s /usr/local/node-v8.9.2-linux-x64 /usr/local/node#配置环境并生效echo "export…

Linux下jdk配置环境变量

vi /etc/profile在里面添加如下内容JAVA_HOME/usr/local/java/jdk1.6.0_01PATH$JAVA_HOME/bin:$PATHCLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOMEexport PATHexport CLASSPATH变量生效重新登录即可5.进入 /usr/bin/目录cd /usr/binln -s -f /us…

mysql获取当前时间毫秒_MySQL性能指标及计算方法

是新朋友吗?记得先点蓝字关注我哦~ 今日课程菜单 Java全栈开发 | Web前端+H5 大数据开发 | 数据分析 人工智能+Python | 人工智能+物联网 来源:小职(z_zhizuobiao) 找我:✅ 解锁高薪工作 ✅ 免费获取干货教程 未 完 待 续 绝大多数MySQL性能指标可以通过以下两种方式获取:…

linux时间戳转换不对,转换为unix时间戳不正确

我有我写了一个函数(如果有一个很好的标准替代,请让我知道...)转换为unix时间戳不正确time_t get_unix_time(string time_str) {time_t loctime;time(&loctime);struct tm *given_time;time_str time_str.substr(0, time_str.find_first_of(.));replace(time_s…

什么是REST API?

REST指一组架构约束条件和原则,满足约束条件和原则的应用程序设计。架构,软件体系结构分为三部分:构建,用于描述计算机;连接器,用于描述构建的链接部分;配置将构建和连接器组成有机整体。web基本…

python socket send_python socket 连续send,出现粘包问题

使用网上socket代码实现ssh功能,如下:server.py#服务端Linux系统下:处理命令并返回import socketimport os#声明类型,生成socket链接对象server socket.socket()#监听接收端口元组(本地,端口),绑定要监听的…

linux系统安装佳能打印机驱动,在ubuntu16.04 64-bit上安装佳能打印机驱动Linux_UFRII_PrinterDriver_V320_us_EN...

在ubuntu16.04 64-bit上安装佳能打印机驱动Linux_UFRII_PrinterDriver_V320_us_EN发布时间:2018-04-06 21:46,浏览次数:631, 标签:ubuntubitLinuxUFRIIPrinterDriverusEN1. 安装一些依赖项 (不确定它们是否都需要):sudo apt install libc6-i3…

python重复输入上面指令_stdin stdout python:如何重复使用同一输入文...

我对Python很陌生,对stdin stdout方法甚至更新.不过,我需要使我的脚本可用于UNIX命令,以便例如使用我的脚本一次处理2个输入文件.该脚本与命令行参数完美配合:newlist []def f1()....def f2(input_file):vol_id sys.argv[3]for line in input_file:if ... :line …

linux条件变量cond,Linux 条件变量 pthread_cond_signal及pthread_cond_wait

#include#include#include#includepthread_mutex_t mutex PTHREAD_MUTEX_INITIALIZER;/*静态初始化*/pthread_cond_t cond PTHREAD_COND_INITIALIZER; //init condvoid *thread1(void*);void *thread2(void*);int i 1; //globalint main(int argc,char* argv[]){pthread_…

哈希查找

哈希查找之前,我们要弄清楚哈希技术,哈希技术是在记录的存储位置和记录的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。查找时,根据这个确定的对应关系找到给定值的映射f(key),若查找集合中存在这…

python两人一碰_python运用pygame库实现双人弹球小游戏

使用python pygame库实现一个双人弹球小游戏,两人分别控制一个左右移动的挡板用来拦截小球,小球会在两板间不停弹跳,拦截失败的一方输掉游戏,规则类似于简化版的乒乓球。因为是第一次用pygame写python小游戏并且只用了两三个小时&…

fedora 安装Linux源码,如何在 Fedora 29/30 上安装 VS Code

Visual Studio Code 简称 VS Code 是微软开发的一款跨平台的源代码编辑器。 它具有内置的调试支持,嵌入式 Git 控件,语法突出显示,代码完成,代码重构和代码片段。Visual Studio Marketplace 提供了许多插件和扩展来扩展VS代码的功…

2016-1-31

按照我之前的计划,应该是今天晚上才到家呢,可是21号就已经来到了,在家已经整整10天了,22号放纵了一天,有一天和CY出去溜了,所以应该是整整8天的时间是可以利用的,然而,我发现效果并不…

三菱伺服驱动器说明书_张家港市HG-KN13J-S100三菱伺服控制器

张家港市HG-KN13J-S100三菱伺服控制器MR-J2S1该产品还有RS-232和RS-422串行通讯功能,通过安装有伺服设置软件的个人计算机就能进行参数设定,试运行,状态显示和增益调整等操作。2与MR-J2S系列配套的伺服电机编码器采用了分辨率为131072脉冲/转…