位置: 编程技术 - 正文

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

  • 员工交通费可以税前扣除吗
  • 税务ukey使用教程视频
  • 金蝶kis标准版自定义报表功能
  • 中介公司报税怎么操作
  • 所得税筹划的意义
  • 采购货款属于什么会计科目
  • 支付违约金未取得正规发票能不能在税前列支
  • 福利企业的税收优惠政策
  • 企业接受捐赠的账务处理
  • 矿泉水资源税计税依据
  • 医院其他应付款过高的原因
  • 农场管委会是什么性质单位
  • 关于促进房地产市场健康发展的实施意见(试行)
  • 一般纳税人印花税减半征收吗
  • 培训费增值税专用发票
  • 外购商誉是资产吗
  • 货车的折旧率
  • 员工工资漏申报怎么办
  • 盈余积累转增股本的个税问题
  • 出售废品收入
  • 手动滑屏怎么操作
  • 主营业务收到的现金
  • 信息技术服务费发票
  • php下载限速
  • 出差现场租车费谁承担
  • win11系统打不出顿号
  • 浅谈特殊儿童的融合教育论文
  • 手续费及佣金扣除标准
  • 开具增值税发票哪些情形不用交税?
  • STP详解
  • 销售方红字发票账务处理?
  • 纳入资本公积
  • 企业取得土地使用权可能作为什么核算
  • vue3 $bus
  • 帝国cms使用手册
  • 税管员管多少企业
  • 个人账户收到多少钱会被监控
  • dedecms配置
  • 非盈利企业怎么做账
  • 销售物流
  • 固定补贴是否属于社保
  • 常用sql脚本
  • 企业购入固定资产误计入管理费用
  • 增值税发票相关罪名
  • 企业信息联网核查系统的意义
  • 安装购买的材料怎么做账
  • 公司收到财政局奖励怎么记账
  • 餐饮无票收入怎么做账
  • 企业在建工程项目
  • 利润表里公允价值变动损益怎么算
  • 收到劳务费发票如何申报个税
  • 国内的windows是正版吗
  • win7系统权限设置
  • ubuntu16连接wifi步骤
  • 魔方win10
  • win8怎么设置ip地址
  • linux日期与时间
  • 华硕安装win7系统
  • KbdTray.exe - KbdTray是什么进程 有什么作用
  • linux多线程编程电子书
  • win8.1设置在哪
  • 正版win10怎么用
  • qt渲染机制
  • .android
  • android camera preview
  • 安卓icon图标
  • 仿京东首页html5
  • Unity3D NGUI UIInput制作输入框屏蔽特殊字符(只允许输入正整数)
  • android事件响应和处理机制
  • android实现底部菜单
  • 轻松实现的英文
  • javascript基础入门视频教程
  • android 发短信
  • python魔法方法有啥用
  • jQuery Tags Input Plugin(添加/删除标签插件)详解
  • 开增值税专用发票需要注意什么
  • 税务部门客服
  • 朝阳区地方税务局电话
  • 电力营销岗
  • 财政部国家税务总局2021年40号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设