Python实现带百分比的进度条
python计算两个数的百分比方法
工作中遇到了要计算两个数百分比的问题,python 2.7 环境。
代码:
#!/usr/bin/env python #function: 计算百分比 #USAGE: python calculator.py num1 num2 import sys a=sys.argv[1] a=float(a) b=sys.argv[2] b=float(b) print "%.2f%%" % (a/b*100)
示例:
root@ops-docker-1:/tmp/data# python calculator.py 3 11 27.27%
下面是我工作中的应用
需求:要计算一堆数的百分比 并记录在文件中
原始文件 ------- root@ops-docker-1:/tmp/data# head -n 7 a.txt 北京 总计:2488 北京 总计:78353 电信 301 电信 6515 移动 70 移动 2349 联通 1500 联通 36736 铁通 60 铁通 1671 教育网 12 教育网 234 鹏博士 9 鹏博士 51 shell脚本 --------- root@ops-docker-1:/tmp/data# cat ratio.sh #!/bin/bash #USAGE: sh ratio.sh src-file dst-file >$2 i=1 for n in $(grep -E -o "([0-9]*)" $1) do if [ $(($i%2)) -ne 0 ];then echo $n >A else echo $n >B A=$(cat A) B=$(cat B) echo $A "\t" $B "\t" $(python calculator.py $A $B)>>$2 fi i=$(($i+1)) done rm -rf A B 使用 ---- root@ops-docker-1:/tmp/data# sh ratio.sh a.txt b.txt root@ops-docker-1:/tmp/data# head -n 7 b.txt 2488 78353 3.18% 301 6515 4.62% 70 2349 2.98% 1500 36736 4.08% 60 1671 3.59% 12 234 5.13% 9 51 17.65% 合并两个文件格式化处理后显示 root@ops-docker-1:/tmp/data# head -n 7 ab.txt -------------- 北京 总计:2488 北京 总计:78353 2488 78353 3.18% 电信 301 电信 6515 301 6515 4.62% 移动 70 移动 2349 70 2349 2.98% 联通 1500 联通 36736 1500 36736 4.08% 铁通 60 铁通 1671 60 1671 3.59% 教育网 12 教育网 234 12 234 5.13% 鹏博士 9 鹏博士 51 9 51 17.65%
以上这篇python计算两个数的百分比方法就是小编分享给大家的全部内容了百分比的计算方法,希望能给大家一个参考百分比的计算方法,也希望大家多多支持我们。
时间: 2018-06-27
python计算两个矩形框重合百分比的实例
如下所示: def mat_inter(box1,box2): # 判断两个矩形是否相交 # box=(xA,yA,xB,yB) x01, y01, x02, y02 = box1 x11, y11, x12, y12 = box2 lx = abs((x01 + x02) / 2 - (x11 + x12) / 2) ly = abs((y01 + y02) / 2 - (y11 + y12) / 2) sax = abs(x01 - x02) sbx = abs(x11 - x12) say
Python实现带百分比的进度条
大家在安装程序或下载文件时,通常都能看到进度条,提示你当前任务的进度.其实,在python中实现这个功能很简单,下面是具体代码.在实际应用中,你完全可以根据自己的要求进行修改!比如,示例中是通过time.sleep()方法进行时间延迟,你完全可以根据实际的程序运行耗时进行控制:同样,在进度百分比处,你也可以显示实际的进度比,而不是例子中机械的自增百分比. import sys import time def view_bar(num, total): rate = num / total rat
Python实现输出程序执行进度百分比的方法
本文实例讲述了Python实现输出程序执行进度百分比的方法.分享给大家供大家参考,具体如下: 对于一些大型的Python程序,我们需要在命令行输出其百分比,显得更加友好,以免被人误会程序陷入死循环.假死的窗体. 关键是利用到不换行的输出符\r,\r的输出,将直接覆盖掉此行的内容. 比如如下的程序,是一个i从0自加的十万的过程,即使对于现在高性能的CPU也是需要几秒的时间的,我们要输出其执行时候的百分比,可以在引入sys这个包之后,利用到sys.stdout.write输出,避免原生态的print
python在控制台输出进度条的方法
本文实例讲述了python在控制台输出进度条的方法.分享给大家供大家参考.具体实现方法如下: 进度条效果如下所示: |#############################---------------------| 59 percent done 代码如下: class ProgressBar(): def __init__(self, width=50): self.pointer = 0 self.width = width def __call__(self,x): # x in p
Python调用命令行进度条的方法
本文实例讲述了Python调用命令行进度条的方法.分享给大家供大家参考.具体分析如下: 关键点是输出'\r'这个字符可以使光标回到一行的开头,这时输出其它内容就会将原内容覆盖. import time import sys def progress_test(): bar_length=20 for percent in xrange(0, 100): hashes = '#' * int(percent/100.0 * bar_length) spaces = ' ' * (bar_lengt
python获取程序执行文件路径的方法(推荐)
1.获取当前执行主脚本方法:sys.argv[0]和_ file _ (1)sys.argv 一个传给Python脚本的指令参数列表.sys.argv[0]是脚本的名字.一般得到的是相对路径,用os.path.abspath(sys.argv[0])得到执行文件的绝对路径: dirname, filename = os.path.split(os.path.abspath(sys.argv[0])) os.path.realpath(sys.argv[0]) 如果在命令行执行sys.argv返回
python隐藏终端执行cmd命令的方法
在用pyinstaller打包后不想要后面的终端命令框,但是打包时加了-w或者--noconsole命令后会导致cmd程序不能运行从而出错.这个时候用subprocess可以解决该类问题. import subprocess cmd = 'your command' res = subprocess.call(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 这样打包后出
让Python脚本暂停执行的几种方法(小结)
1.time.sleep(secs) 参考文档原文: Suspend execution for the given number of seconds. The argument may be a floating point number to indicate a more precise sleep time. The actual suspension time may be less than that requested because any caught signal will
使用tqdm显示Python代码执行进度功能
在使用Python执行一些比较耗时的操作时,为了方便观察进度,通常使用进度条的方式来可视化呈现.Python中的tqdm就是用来实现此功能的. 先来看看tqdm的进度条效果: tqdm的基本用法 tqdm最主要的用法有3种,自动控制.手动控制或者用于脚本或命令行. 自动控制运行 最基本的用法,将tqdm()直接包装在任意迭代器上. from tqdm import tqdm import time text = "" for char in tqdm(["a", &
Python显示进度条的方法
本文实例讲述了Python显示进度条的方法,是Python程序设计中非常实用的技巧.分享给大家供大家参考.具体方法如下: 首先,进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输出结果. 进度条不然,我们必须再原地输出才能保证他是一个进度条,否则换行了怎么还叫进度条? 最简单的办法就是,再输出完毕后,把光标移动到行首,继续在那里输出更长的进度条即可
Python在Console下显示文本进度条的方法
进度条实现原理 进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输出结果. 进度条不然,我们必须再原地输出才能保证他是一个进度条,否则换行了怎么还叫进度条? 实现进度条最简单的办法就是,在输出完毕后,把光标移动到行首,继续在那里输出更长的进度条即可实现,新的更长的进度条把旧的短覆盖,就形成了动画效果. 在用Python处理耗时的任务时,往往希望能够
python定时执行指定函数的方法
本文实例讲述了python定时执行指定函数的方法.分享给大家供大家参考.具体实现方法如下: # time a function using time.time() and the a @ function decorator # tested with Python24 vegaseat 21aug2005 import time def print_timing(func): def wrapper(*arg): t1 = time.time() res = func(*arg) t2 = t
我来说两句