前两天做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程序运行进度相关推荐

  1. 视频教程-微信小程序系统教程python版[3/3阶段]_微信小程序支付-手游开发

    微信小程序系统教程python版[3/3阶段]_微信小程序支付 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试 ...

  2. python画图程序没有图_解决python中使用plot画图,图不显示的问题

    解决python中使用plot画图,图不显示的问题 对以下数据画图结果图不显示,修改过程如下 df3 = {'chinese':109, 'American':88, 'German': 66, 'K ...

  3. python程序写完后点哪个运行快_让 Python 代码运行更快的最佳方式!

    PyPy与CPython PyPy是Python解释器CPython的直接替代品.CPython将Python编译为中间字节码然后由虚拟机解释,而PyPy使用实时(JIT)编译将Python代码转换为 ...

  4. python运行程序的快捷键_在Python集成开发环境中,可使用快捷键()运行程序。...

    在Python集成开发环境中,可使用快捷键()运行程序. 更多相关问题 如何理解创新能力测试与创新能力的关系? 直埋线路与埋式电力电缆电压<35kv平行时最小间距为(). 放射性物品装卸作业时, ...

  5. python perl 日本的应用_将Python,Perl,Ruby或Shell脚本转换为适用于Mac OS X的自包含应用程序 | MOS86...

    Platypus是一款非常出色的实用程序,可让您将任何脚本转换为独立的Mac OS X应用程序.免费且非常简单的使用,Platypus将支持任何shell脚本,Perl,Python,PHP,Ruby ...

  6. 用python做炒股软件-python程序源码_基于python的炒股软件

    股票模拟交易系统设计与实现 不但能够进行界面的设计,还可以实现各个窗口的关联,通过WPF实现和其余窗口的关联,而且WPF中的类不但能够和其中一个窗口进行关联,还可以跟许多功能操作接口,WPF在对窗口对 ...

  7. 关东升python从小白到大牛_《Python从小白到大牛》第3章 第一个Python程序

    本章以HelloWorld作为切入点,介绍如何编写和运行Python程序代码. 运行Python程序主要有两种方式: 1.交互式方式运行 2.文件方式运行 本章介绍这两种运行方式实现HelloWorl ...

  8. python获取pid并杀死_用python记录运行pid,并在需要时kill掉它们的实例

    我在跑爬虫程序的时候,由于爬虫程序的等待目标服务器返回数据的时间很长,而cpu占用很低,所以经常挂着代理一跑就跑好几百个.但是爬虫程序通常是写了死循环,或直到分配给该进程的任务都跑完才退出的.如果我们 ...

  9. python运行外部程序_在Python中运行外部程序(可执行文件)?

    在Python中运行外部程序(可执行文件)? 我刚刚开始研究Python,我一直在尝试从Python运行外部可执行文件. 我有一个用Fortran编写的程序的可执行文件. 假设可执行文件的名称是flo ...

最新文章

  1. Mars 算法实践——人脸识别
  2. matlab mlpkginstall,Matlab选择mingw编译器
  3. 对象头、锁的四种状态、Java和处理器实现原子操作的方式(CAS、锁机制;总线锁定、缓存锁定)
  4. [IT业界] 网盘纷纷停止服务,下一个是谁?
  5. 克隆虚拟机 virtualbox 修改 uuid
  6. ubuntu18.04 用xhell连接失败
  7. PTS 有奖征稿活动官方示例
  8. JAVA设计模式-委派模式(Delegate)
  9. c#实现txt转化为excel
  10. 安卓签名MD5相关说明
  11. 观察者模式及其应用场景
  12. 编译原理-回溯法及其优化的思考
  13. nested exception is java.lang.NumberFormatException: For input string: “swagger-ui.html“]
  14. php opc数据,OPC连接获取数据
  15. 批量安装windows系统补丁包
  16. 四元数和旋转轴及旋转角度之间的转换理解实例
  17. Linux高级网络开发奇妙之旅
  18. C语言 从txt文件中提取特定的数据
  19. 推土机距离(Wasserstein distance)以及其他几种常用的分布差异度量方法(mark)
  20. C#开发:创建gif图片

热门文章

  1. 输油管道 (Standard IO)
  2. 66集PhotoShop(PS)WMV格式视频教程
  3. multi接口的使用
  4. 得胜php100怎么样,口碑评测得胜Q麦评测如何?怎么样呢?评测爆料真心话
  5. 深度学习训练营之优化器对比
  6. 重庆网通信息港试点电力线上网
  7. aardio 基本语法
  8. 至强w系列可以用服务器内存吗,至强能用服务器内存吗
  9. 因感情纠纷报复杀人泄愤致7死11伤 一男子被执行死刑
  10. 尼采:不能听命于自己者,就要受命于他人。