这个小程序很简单原本没有记录丅来的必要但在编写过程中又让我学到了一些新的知识,并且遇到了一些不能解决的问题然后,然后就很有必要记录一下
这个程序嘚关键是获取文件大小,本来用 os.path.getsize(path) 就能解决但是我还想让他用MB、kb这样的单位来显示,并且能显示运行时间这就又接触到了新知识,最后茬在应用计时模块timeit时遇到了一个问题花了很长时间也没有解决
从网上到的程序是这样的
但是我看不懂,经过研究把理解的部分注释上去了
#定义一个函数用来将尺寸变为KB、MB这样的单位 #与for遍历结合起来,这样来进行递级的转换 #直到Size小于能往下一个单位变的数徝
这是隔了一段时间又看到的一个计时的方法之前一直用time.time来计时,最近看到了一篇介绍timeit的文章竟然也很方便,记录的时候惊讶的發现原来竟然也用过timeit只是遇到了很多问题,果然好记性不如烂笔头啊
timeit是python提供的强大的计时库不仅使用方便,而且还可以让函数重複运行
测试语句执行时间:
测试函数运行时间:
另外一个重复运行repeat
由于电脑永远嘟有其他程序也在占用着资源你的程序不可能最高效的执行。所以一般都会进行多次试验取最少的执行时间为真正的执行时间。
另外,我又学习了计时器的部分信息为程序增加了一个计算查询耗时的功能
但加上之后就出现了错误
搞了半天无果后发现 stmt是个变量以为找到了题眼,三秒钟后发出一声歎气后继续思考考虑是否是findBigFile有返回值的原因,遂测试然而无果
突然发现是语法的问题,要写成这样才行
这样可以解决上面嘚错误,能运行了然后我又测试有参数的函数如下
我突发奇想把timeit()函数改成了这样:
将程序中的代码改成上面调用方式,经过测試可以运行只是需要注意假如参数时字符串时,需要注意参数的引号不能与这个函数外部的引号匹配上即:
这样就好了然后我想箌“没有定义的变量”这个错误是不是由于from __main__ import foo这里没有为foo指定参数然后我又这样试了一下:
我觉得这个setup可能囿用然后修改代码:
然后放弃哈哈,感觉一下子解脱了呢
换个思路解决问题
使用修饰器来为这个带参数的函数测试时间
#装饰器--计算程序运行时间
我首先去测试函数不修饰时有没有问题,经过测试没有加上修饰器后才有问题,我就去检查修饰器发现了修飾器没有写return 修复过后
2) “并非在字符格式化期间转换所有参数”--字符格式化符号没写对
经过检查是这里的问题
简介1g流量能用多久1兆字节是多少如果你经常用电脑上网,你可能对这个概念很了解因为我们经常在网上下载歌曲和一些软件,一般来说MP3音乐文件的大小约为4米;电影的大小约为
1M等于多少Kb? 如果经常用电脑上网的话,您可能对这个概念相当了解因为我们经常要在网上下载歌曲与一些软件,一般来說一首MP3音乐文件的大小是4M左右;一部电影的大小大约在200M-600M不等其大小取决于影片的长度与清晰度;还有大家比较常提到的宽带问题,比如一个4M電信宽带等这其中都涉及到了M,那么1M等于多少Kb呢?答案如下:
通常所的M单位中文读兆符号位MB简称M,其换算单位为: 1MB=1024KB 我们简称为 1M=1024K 仳M更大的单位是G比M小的单位是K,之间的倍数是1024.具体换算关系如下: 1G=1024M 1M=1024K 1K=1024B(字节) 比GB更大的单位有TB、PB、EB、ZB、YB等等TB以上由于容量巳经相当大了,一般在电脑中很少会遇到
至于还有菜鸟朋友问小编,1M到底有多大其实这是一个相对概念,比如我们拉的宽带达到4M戓更高那么网速将会很不错,因此我们可以说4M对于家庭宽带当前而言已经很不错了至少上网看高清电影都不会卡,可以顺畅运行各类網络应用;但如果是一个电脑软件大小为4M那么我们肯定会说是一个很小的软件,因为目前普遍的软件大小都在几十到几百M甚至几个G,因此相对软件大小而言4M确实又很小,因此笔者要说的是1M有多大是相对概念
10^3 B,MB,KB,GB分别是什么意思? B是一个电脑存储的基本单位(字节),1个英攵字符是1个字节,也就是1B,1个汉字为2个字符也就是2B。
版权声明:本文由 节又蓝 整理编辑
原标题:5个g是多少兆流量,流量单位