最近在写批量上传文件的脚本,用的库是paramiko,以后将写下paramiko的使用心得, 这次记录下python有关进度条的东西, 众所周知上传,下载,如果有一个进度显示的话, 对使用者也不是枯燥的等待, 起码.. 起码知道脚本在正常工作, 也知道下载/上传 的进度了. 正好这次脚本也有上传的部分.就将这次的心得记录下 首先,所谓的进度条和print没啥不不同,都是将结果输出而已, 但是如果用print就注定
悲剧, 因为print的时候会带一个 一个最简单的进度条 实现原理就是 再输出完毕后,把光标移动到行首,继续在那里输 出更长的进度条即可实现,新的更长的进度条把旧的短覆盖,就形成了动画效果 我们可以利用 def _callback(self,a,b): sys.stdout.write('Data Transmission %10d [%3.2f%%]\r' %(a,a*100./int(b))) sys.stdout.flush() 这样在使用put方法的时候 就可以put(本地文件,远程路径,_callback) 在默认情况下put方法是不需要后面的callback参数的, 只需要本地路径和远程路径, 因为我们需要知道上传进度. 因此加一个callback上去,在callback函数定一个 进度 sys.stdout.write('Data Transmission %10d [%3.2f%%]\r' %(a,a*100./int(b))) 这样当使用put方法的时候. 就可以得到一个文件上传的进度的百分比. 类似这样 Data Transmission 234524 [55%] 同时234524 [55%] 不断变化 直至100% python丰富的模块,提供了无限可能,这里还有一个好东西叫做progressbar 直接上效果图,ps:我自己没这种需求,就用了最简单的实现模式,这个是我找相关进度条资料的时候顺带找到的
原文地址:python 进度条, 感谢原作者分享。
下一篇:记. 一次邮箱密码丢失
上一篇:sshpass 非交互ssh密码验证
相关文章推荐:
相关代码
|
|