位置: 编程技术 - 正文

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中的作用)

  • 房产税的房产原值是什么
  • 房产税的计算公式是多少
  • 进口货物退货如何退税
  • 增值税季报是填3个月的收入吗
  • 如何合理把公司的钱拿出来
  • 开票没有网络可以开票吗
  • 员工上班期间应穿
  • 往来票据怎么填写
  • 如何加强存货管理内部控制
  • 加油费充值卡发票可以报销吗
  • 公司购入货架如何做账
  • 购进原材料验收入库,贷款商业汇票结算
  • 车辆租赁费可以一次性计入费用吗
  • 开具普通发票只写单位名称和税号可以吗?
  • 企业所得税纳税申报表
  • 企业债券收入要在所得税前扣除吗
  • 免抵退税的范围
  • 测测网络
  • 什么是资产减值准备计提
  • 局域网解决方案
  • bios屏蔽接口
  • urlerror什么意思
  • 微信公众号支付的钱能追回吗
  • 定额发票怎么查询经营范围
  • php实现留言板功能怎么用
  • 收到投资款投资人怎么感谢
  • php如何实现
  • php微信公众号消息推送
  • 土增税清算时怎么做会计分录
  • antd form table
  • 接受赠品怎么做账
  • 工业总产值和营业收入区别
  • 集团公司如何收管理费
  • 视同销售实物出资是否开专票吗
  • 上月附加税计提多了怎么办
  • 以旧换新方式销售金银首饰的消费税处理
  • 个人工程款收入算是工资流水吗
  • 合同资产要结转增值税吗
  • 招待客户住宿费进项税可以抵扣吗
  • 2021增值税发票怎么开步骤
  • 钢管租赁行业会计账务处理
  • 让渡资产使用权属于收入吗
  • 应付现金股利属于什么账户
  • 工会经费上缴流程
  • 《中华人民共和国治安管理处罚法》
  • sql多条记录取一条
  • 付款后退货
  • 城市基础设施配套费征收管理规定
  • 2、开办费用计入哪个账户?
  • 材料报废如何做分录
  • 企业如何优化管理
  • 应付利润科目
  • 支付厂房租赁费现金流
  • 仓库做账应该注意些哪些事项
  • 注册会计师转所规定
  • 开启 windows server
  • Win10应用商店下载错误
  • winxp/win2000/win2003
  • w7系统怎么添加打印机
  • logd是什么进程
  • linux中关闭系统命令
  • linux使用rar命令压缩文件
  • win10如何彻底关掉自动锁屏
  • win10开始菜单图标消失
  • unity读取文本文件
  • android.permission.interact_across_users_full
  • 一键清除照片上多余的人
  • html+css网页布局
  • Node.js中的什么模块是用于处理文件和目录的
  • 迄今最好的Http请求框架
  • socket怎么用
  • 网络很强大
  • c# unity 教程
  • 推荐一些非常不好的书
  • android:theme="@style/apptheme"
  • 无自然人登记信息是怎么回事
  • 怎么向税局举报
  • 博兴公安局局长
  • 国家税务总局关于新型墙体材料增值税政策的通知
  • 年休假期间工资支付标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设