位置: 编程技术 - 正文

python控制台中实现进度条功能(python 控制台交互)

编辑:rootadmin

推荐整理分享python控制台中实现进度条功能(python 控制台交互),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python控制台界面,python 控制台交互,python 控制台交互,python在控制台上可以输出吗,python在控制台上可以输出吗,python调用控制台程序,控制台执行python文件,python在控制台上可以输出吗,内容如对您有帮助,希望把文章链接给更多的朋友!

我们大多数人都希望写一些简单的python脚本的同时都想能够在程序运行的过程中实现进度条的功能以便查看程序运行的速度或者进度。今天就和大家探讨这个问题:如何在python控制台中实现进度条功

进度条最主要的问题就是所有字符全部在同一行,而且可以修改。

然而当执行print语句的时候,python会在打印完这个语句的同时在结尾加上'n',也就是换行,这就导致在控制台下一旦被print之后就无法再修改了。所以我们现在的输出就不能再使用print来完成了。

我们要使用的是来自sys库的sys.stdout.write()函数,这个函数会在控制台输出这个字符串的同时不加上任何结尾,这就意味着这个输出还没有完全结束。通过sys.stdout.flush()函数可以把输出暂时打印在控制台中(造成print的假象,我们姑且先叫这个假输出)。那么如果我们使用'r'这个转义字符(回到行首),一切看起来是不是就合理很多了呢?

也就是说:打印字符串的时候,没有加上'n',同时让光标回到行首,再把当前缓冲区显示出来,也就好象是print了一样,但是这时候光标还在原来的位置。

举个例子:

在终端下执行这段代码就会得到简单的进度条效果。

接下来还需要解决两个问题:

一:清空缓冲区

python控制台中实现进度条功能(python 控制台交互)

有些聪明的读者可能发现,当新的字符串比之前短的时候会出现问题,比如下面这段代码:

运行后发现结果跟我们希望的不太一样。

其实是因为已经被flush出去的字符并不会主动清空,所以只有新写入的被修改了。针对这点我目前的解决方案是先输出一波空格把之前的字符串冲掉然后重新写:

二:固定底边输出

有时候我们希望在进度条加载的同时还有一些其他的输出。

我们不妨在刷新掉上一次输出之后输出所需输出的字符串,然后在假输出进度条。

采用如下代码:

就可以完成所需任务了。

怎么样,其实原理还是挺简单的吧?

这里给出一个自己实现的类用来打印进度条:

效果如下:

这样就可以方便的在一些任务中查看程序运行的进度了,比如爬虫、机器学习等并不知道要花多少时间等工作也都可以有形象的时间把握了。

标签: python 控制台交互

本文链接地址:https://www.jiuchutong.com/biancheng/378568.html 转载请保留说明!

上一篇:使用Python发送各种形式的邮件的方法汇总(python发送mq消息)

下一篇:Python list操作用法总结(list在python中的作用)

  • 给客户开增值税专用发票
  • 营业收入比销售商品收到的现金少
  • 冲减暂估成本的会计分录
  • 银行电子回单是原始凭证吗
  • 小规模季度申报怎么申报
  • 虚开增值税普通发票罪的立案标准
  • 外商投资企业清算报告
  • 部门会议要点
  • 增值税扣完税款还能更改吗
  • 银行存款核算如何操作
  • 以前年度应付款确认不再支付应调整到哪个科目?
  • 企业所得税虚报成本多少属于犯罪
  • 电信线路租用的手机
  • 百旺红字发票申领流程
  • 计提生产经营
  • 普通发票企业有用吗
  • 小规模9万是含税吗
  • 贷款利息能抵税吗现在
  • 企业所得税视同销售的捐赠扣除
  • 劳务费开发票还要代扣代缴吗?
  • 招大学生做兼职的网站
  • 不动产进项抵扣新政策2022
  • 境外取得收入
  • 华为鸿蒙系统开发平台
  • 生产性企业购买粽子可以开专票吗
  • 先支付后收到发票怎么做账
  • PHP:mb_strtoupper()的用法_mbstring函数
  • php计算时间
  • 有进项没销项怎么处理,可以结转成本吗
  • PHP:session_name()的用法_Session函数
  • 什么是摊余成本计量的金融资产
  • 工程结算和决算一样吗
  • 免征税费需要申报吗
  • windows11自带录屏怎么使用
  • 货物运输税费
  • 哪种审计证据可以查出来
  • 威尼斯海滩滑板场
  • 哪个光圈值最大
  • 利息收入发票能抵扣吗
  • node.js安装步骤
  • wordpress建立数据库错误
  • 递延所得税资产借贷方向
  • dede织梦怎么转成zblog
  • 百旺金赋怎么开红字发票
  • 发票盖财务专用章后又盖发票专用章
  • 小规模季度交税分录怎么做
  • 财务会计的主要目标和工作内容包括
  • 大数据sql教程
  • 专项储备计提和使用理解
  • 小规模增值税纳税人税率
  • 哪些免征土地使用税
  • 应收账款的账面价值是什么
  • 建筑行业如何结算工程款
  • 应收应付账款统计表
  • 存货的发出计价方法有哪些
  • 筹建期间发生的所有费用
  • 记账金额错误
  • 计提坏账准备的会计分录
  • 开户一定要去银行吗
  • 公司有主营业务收入没有主营业务成本
  • 餐饮食材成本高怎么形容
  • 会计学主要是学什么
  • MySQL修改root账号密码的方法
  • sqlserver2000数据库连接不上
  • win10服务怎么打开
  • 如何在ubuntu下安装和配置gcc并用C语言
  • xp从装系统
  • putty ssh tunnel
  • windows一键安装
  • win10高对比度设置点了没反应
  • win10小娜怎么用不了
  • 创游世界
  • python,数组
  • 相片管理必备知识
  • js实现表单提交
  • javascript向flash swf文件传递参数值注意细节
  • NGUI 响应touchscript 的 tuio动作
  • js响应鼠标点击不了
  • 悬浮工具栏
  • 无锡车辆购置税缴纳地点
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设