python显示程序运行进度_显示Python程序运行进度
前两天做query分析时候,需要从20w随机query中筛选出包括股票实体的query,股票实体大概5000多个。于是写了个循环处理,代码如下:# 读取query
with open('query_20w.txt', 'r', encoding='utf-8') as fq:
query = fq.readlines()
# 读取股票实体
with open('entity.txt', 'r', encoding='utf-8') as fe:
entity = fe.readlines()
# 用两层循环做query筛选
for q in query:
q = q.strip()
for e in entity:
e = e.strip()
# 判断query中是否包含实体,若包含则输出query及相应的实体
if q.find(e) >= 0:
with open('result.txt', 'a') as fr:
match_str = q + '\t' + e + '\n'
fr.write(match_str)
break
因为输出比较多,所以我没有直接在终端上输出,而是写入文件result.txt。
程序功能其实已经OK了,但比较郁闷的是程序运行比较久,期间又没有任何提示,不清楚程序的运行状态,运行结束了也不知道。
可以直接在程序结尾加print('done')来判断是否运行结束,但还是无法提示程序的运行状态,所以想能不能做个进度条之类的,实时提示程序运行状态。
思路挺简单,就是在循环模块中不停的输出状态信息,但需要每次输出时把前一次输出的内容覆盖掉,从而在终端上始终只显示一行提示。转义字符\r可以实现该功能,它的作用就是告诉终端把光标移到行首。
于是修改代码如下:# 读取query
with open('query_20w.txt', 'r', encoding='utf-8') as fq:
query = fq.readlines()
# 读取股票实体
with open('entity.txt', 'r', encoding='utf-8') as fe:
entity = fe.readlines()
# 用两层循环做query筛选
cnt_q = cnt_m = 0 # 计数器,分别记录query数和匹配的结果数
for q in query:
cnt_e = 0 #计数器,记录实体数
cnt_q += 1 # query计数器加1
q = q.strip()
for e in entity:
cnt_e += 1 #实体计数器加1
e = e.strip()
# 判断query中是否包含实体,若包含则输出query及相应的实体
if q.find(e) >= 0:
cnt_m += 1 #匹配结果加1
with open('result.txt', 'a') as fr:
match_str = q + '\t' + e + '\n'
fr.write(match_str)
# 输出状态,其中\r将光标定位到行首
print('正在分析第{}个query和第{}个实体,已累计输出{}个结果...'.format(cnt_q, cnt_e, cnt_m), end='\r')
break
# 程序运行结束提示
print('\n运行结束')
运行时,终端提示如下:正在分析第19392个query和第704个实体,已累计输出235个结果...
网上查资料的时候,也有一些库可以实现进度条功能。但觉得这个方案最简单实用。
python显示程序运行进度_显示Python程序运行进度相关推荐
- 视频教程-微信小程序系统教程python版[3/3阶段]_微信小程序支付-手游开发
微信小程序系统教程python版[3/3阶段]_微信小程序支付 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试 ...
- python画图程序没有图_解决python中使用plot画图,图不显示的问题
解决python中使用plot画图,图不显示的问题 对以下数据画图结果图不显示,修改过程如下 df3 = {'chinese':109, 'American':88, 'German': 66, 'K ...
- python程序写完后点哪个运行快_让 Python 代码运行更快的最佳方式!
PyPy与CPython PyPy是Python解释器CPython的直接替代品.CPython将Python编译为中间字节码然后由虚拟机解释,而PyPy使用实时(JIT)编译将Python代码转换为 ...
- python运行程序的快捷键_在Python集成开发环境中,可使用快捷键()运行程序。...
在Python集成开发环境中,可使用快捷键()运行程序. 更多相关问题 如何理解创新能力测试与创新能力的关系? 直埋线路与埋式电力电缆电压<35kv平行时最小间距为(). 放射性物品装卸作业时, ...
- python perl 日本的应用_将Python,Perl,Ruby或Shell脚本转换为适用于Mac OS X的自包含应用程序 | MOS86...
Platypus是一款非常出色的实用程序,可让您将任何脚本转换为独立的Mac OS X应用程序.免费且非常简单的使用,Platypus将支持任何shell脚本,Perl,Python,PHP,Ruby ...
- 用python做炒股软件-python程序源码_基于python的炒股软件
股票模拟交易系统设计与实现 不但能够进行界面的设计,还可以实现各个窗口的关联,通过WPF实现和其余窗口的关联,而且WPF中的类不但能够和其中一个窗口进行关联,还可以跟许多功能操作接口,WPF在对窗口对 ...
- 关东升python从小白到大牛_《Python从小白到大牛》第3章 第一个Python程序
本章以HelloWorld作为切入点,介绍如何编写和运行Python程序代码. 运行Python程序主要有两种方式: 1.交互式方式运行 2.文件方式运行 本章介绍这两种运行方式实现HelloWorl ...
- python获取pid并杀死_用python记录运行pid,并在需要时kill掉它们的实例
我在跑爬虫程序的时候,由于爬虫程序的等待目标服务器返回数据的时间很长,而cpu占用很低,所以经常挂着代理一跑就跑好几百个.但是爬虫程序通常是写了死循环,或直到分配给该进程的任务都跑完才退出的.如果我们 ...
- python运行外部程序_在Python中运行外部程序(可执行文件)?
在Python中运行外部程序(可执行文件)? 我刚刚开始研究Python,我一直在尝试从Python运行外部可执行文件. 我有一个用Fortran编写的程序的可执行文件. 假设可执行文件的名称是flo ...
最新文章
- Mars 算法实践——人脸识别
- matlab mlpkginstall,Matlab选择mingw编译器
- 对象头、锁的四种状态、Java和处理器实现原子操作的方式(CAS、锁机制;总线锁定、缓存锁定)
- [IT业界] 网盘纷纷停止服务,下一个是谁?
- 克隆虚拟机 virtualbox 修改 uuid
- ubuntu18.04 用xhell连接失败
- PTS 有奖征稿活动官方示例
- JAVA设计模式-委派模式(Delegate)
- c#实现txt转化为excel
- 安卓签名MD5相关说明
- 观察者模式及其应用场景
- 编译原理-回溯法及其优化的思考
- nested exception is java.lang.NumberFormatException: For input string: “swagger-ui.html“]
- php opc数据,OPC连接获取数据
- 批量安装windows系统补丁包
- 四元数和旋转轴及旋转角度之间的转换理解实例
- Linux高级网络开发奇妙之旅
- C语言 从txt文件中提取特定的数据
- 推土机距离(Wasserstein distance)以及其他几种常用的分布差异度量方法(mark)
- C#开发:创建gif图片