位置: 编程技术 - 正文

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

  • 旅游业成本具体有哪些
  • 放弃退税理由是什么
  • 不予认定一般纳税人
  • 个税子女教育扣除需要提供什么资料
  • 公司开户费用都包括哪些
  • 小规模纳税人未开票收入如何填申报表
  • 视同销售销售额的确定方法
  • 会计凭证的保管期限为多少
  • 职工暖气费报销算福利
  • 增加固定资产原值
  • 一般纳税人税种认定有几个增值税要怎么申报呀
  • 小规模纳税人第四季度怎么报税
  • 个体户增值税怎么算
  • 印花税计提会计分录
  • 土地使用税每年都交还是交一次
  • 企业所得税一般是几个点
  • 企业进项税和销项税抵扣政策
  • 小规模纳税人销售农产品免税吗
  • 加计扣除两种情况
  • 合同到期退房子,租金退吗
  • 现金存入银行是付款还是转账
  • 个体工商户怎么交税
  • 其他权益工具通俗
  • 企业所得税抵缴欠税
  • win10无法设置pin码怎么办
  • 对外捐赠款属于什么会计科目
  • 出口退税新政策对出口贸易的影响
  • win11如何退回win10超过10天
  • windows11关机键怎么设置经典菜单
  • 注销公司账上现金多怎么调
  • wordpress用什么语言开发
  • 财政拨款结转的明细科目中,年末结转后有余额的是
  • 富贵竹怎么养才能更旺盛水培生根
  • php 可变变量
  • element ui el-tree
  • php遍历结果集
  • servlet工作原理和生命周期
  • 未分配利润与净利润关系
  • php操作mysql数据库
  • php 统计
  • phpcms怎么用
  • 服务型公司营业执照图片
  • 企业季度所得税申报流程
  • 定期定额个体经营所得税申报错了怎么办
  • 本年利润和利润分配属于什么账户
  • 营业外收入交企业所得税吗
  • 建筑企业结转成本附件
  • 产品研发项目管理 系统 国外
  • 水利建设专项基金土增税清算能扣除吗
  • 跨月的红字发票申请表怎么撤销
  • 财务管理考试时间不够怎么办
  • 应交税费包括哪些科目
  • 金三财务报表如何更正?
  • 缴纳以前年度税金怎么做账
  • 国家也通过国有企业利用自己的财政资金
  • 出纳的现金日记账表格怎么做
  • 企业风险管理有哪些方面
  • mysql在cmd命令操作
  • sql如何对两个表数据求和
  • 在windows的命令提示符下,命令名在实际输入时规定
  • windows怎样设置
  • WIN10系统更新之后无法启动
  • xp系统怎么没有无线网络连接
  • 微软十周年
  • win7word打开很慢怎么解决
  • RedHatLinux AS3中APACHE+SendMail+OpenWebMail整合
  • win7系统无法更改账户名称
  • jquery.ui
  • nodejss
  • 批处理文件是脚本吗
  • python在web上的应用
  • 安卓自定义app
  • 批处理显示
  • nodejs+ts
  • TFC360冯燃:手游市场细分领域新秀崛起
  • python list的操作
  • 税务稽查协查管理办法 国家税务总局
  • 企业所得税计算器在线计算
  • 网上税务局电子发票怎么领用
  • 福州电动车怎么报废处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设