python 按行查找文本文件,找出答案,并提示置顶答案
1。整理好答案文件为文本文件;不能有空行;每个题干前有数字做为题号;每个题答案第一个字符为字母,答案占一行import time
import time
import sys
import os
import re
import tkinter
import tkinter.messagebox #这个是消息框,对话框的关键
#sys.path.append(os.path.abspath("SO_site-packages"))
import win32api,win32con
import pyperclip # 引入模块
#f = open("bbb.txt")
def showMsg(acc): #提示框
top=tkinter.Tk()
top.withdraw()
top.update()
mes=tkinter.messagebox.showinfo('提示', acc)
top.mainloop()
#top.destroy()
return mes
print("aaa.txt作为答案文件要求:放在当前目录中;不能有空行;每个题占两行,第一行题干,以数字开头;第二行是答案,以字母开头;用鼠标选择,用CTRL+C键盘复制效果好;按ENTER继续")
os.system("pause")
recent_value = ""
tmp_value="" # 初始化(应该也可以没有这一行,感觉意义不大。但是对recent_value的初始化是必须的)
while True:
tmp_value = pyperclip.paste() # 读取剪切板复制的内容
#print("tmp_value:"+tmp_value)
print("recent_value:"+recent_value)
if tmp_value != recent_value:
#print(tmp_value)#如果检测到剪切板内容有改动,那么就进入文本的修改
recent_value=tmp_value
#print(recent_value)
#f = open("aaa.txt") #aa.txt作为答案文件要求:不能有空行;每个题占两行,第一行题干,以数字开头;第二行是答案,以字母开头
with open("aaa.txt","r") as f:
line = f.readline() # 调用文件的 readline()方法
av=""
while line:
if len(line.strip())>0:
if line.strip()[0].isdigit():
a1=line
bz=1
if line.strip()[0].isalpha():
a2=line
bz=2
if line.find(tmp_value)>-1:
if bz==2:
av=av+a1+a2
if bz==1:
line = f.readline()
av=av+a1+line
#print(line)
line=f.readline()
continue
if len(av)!=0:
top=tkinter.Tk()
#top.withdraw()#这行可以隐藏主窗口,但又不置顶消息窗口,所以关了
mes=tkinter.messagebox.showinfo('提示', av)
top.wm_attributes('-topmost',1) #置顶消息窗口
top.destroy()#关闭消息窗口
#print(tmp_value)
continue
#continue
continue
python 按行查找文本文件,找出答案,并提示置顶答案的更多相关文章
- python -- 对list去重并找出列表list中的重复元素
一.一个列表中可能含有重复元素,使用set()可以实现列表的去重处理,但是无法知道哪些元素是重复的,下面的函数用于找出哪些元素重复了,以及重复的次数. 代码: from collections imp ...
- Python每日一练(2):找出html中的所有链接(Xpath、正则两个版本)
要在hrml文件中找出特定的内容,首先需要观察该内容是什么东西,在什么位置,这样才能找出来. 假设html的文件名称是:"1.html".href属性全都在a标签里. 正则版: # ...
- python字符串面试题:找出一个字符串中第一个字母和最后一个字符是第一次重复,中间没有重复且最长的子串
1.给出任意一个字符串,打印一个最长子串字符串及其长度,如果有相同长度的子字符串,都要一起打印出来,该子字符串满足以下条件, 第一个字母和最后一个字符是第一次重复 这个子字符串的中间字母没有重复 这个 ...
- python经典算法题目:找出这两个有序数组的中位数
题目:找出这两个有序数组的中位数 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以 ...
- 记录:50多行程序中找出多写的一个字母e
小霍同学调程序,做的是第11周的项目1 - 存储班长信息的学生类,可是她写的程序(就在以下),呃,请读者自己执行一下吧.(下午在机房调试时用的是Code::Blocks10.05.输出的是非常长的莫名 ...
- python的自省函数, 快速找出BUG的良器
python内置的好多自省函数, 合理使用可快速查找相关提示, 快速找到问题点, 以下开始具体说明 1. dir() 列出对象的所有属性和方法 如: dir(list) 可以列出列表的所有属性 ...
- Python强化训练笔记(五)——找出多个字典中的公共键
在这个问题中,我们期望得到的结果是找到这三轮比赛中,每轮都进球的球员都有谁.下面用python来模拟一下,先生成一批数据: >>> from random import randin ...
- 我用 Python 找出了删除我微信的所有人并将他们自动化删除了
1. 概述 不知你是否遇到过在微信上给通讯录中的某个人发消息,结果出现了这一幕: 平时一直认为自己的心里素质过硬,不过遇到这种情况 ... 在我缓了半个钟头(半分钟)之后,缓缓拿出了手机,打开微信,找 ...
- 3.1.g 找出在2009年秋季拥有最多选课人数的课程段
3.1.g 找出在2009年秋季拥有最多选课人数的课程 3.1 使用大学模式,用SQL写出如下查询. g) 找出在2009年秋季拥有最多选课人数的课程段. 注:本题来自于 数据库系统概念 第六版 机械 ...
随机推荐
- GO学习-(28) Go语言操作influxDB
Go语言操作influxDB 本文介绍了influxDB时序数据库及Go语言操作influxDB. InfluxDB是一个开源分布式时序.事件和指标数据库.使用Go语言编写,无需外部依赖.其设计目标是 ...
- wangEditor 轻量级富文本框编辑器使用方法
首先第一步先去wangEditor官网下载所需要的脚本文件! http://www.wangeditor.com/ 接下来先在你的项目的HTML标签里加上这样一段标签: 1 <body> ...
- guava cache 缓存
1.guava缓存 新建一个缓存对象cache,当取不到key对应的值时,生成一个,并插入到cache中 LoadingCache<String,String> cache = Cache ...
- TensorFlow创建DeepDream网络
TensorFlow创建DeepDream网络 Google 于 2014 年在 ImageNet 大型视觉识别竞赛(ILSVRC)训练了一个神经网络,并于 2015 年 7 月开放源代码. 该网络学 ...
- GPU—加速数据科学工作流程
GPU-加速数据科学工作流程 GPU-ACCELERATE YOUR DATA SCIENCE WORKFLOWS 传统上,数据科学工作流程是缓慢而繁琐的,依赖于cpu来加载.过滤和操作数据,训练和部 ...
- 工作流中容器化的依赖注入!Activiti集成CDI实现工作流的可配置型和可扩展型
Activiti工作流集成CDI简介 activiti-cdi模块提供activiti的可配置型和cdi扩展 activiti-cdi的特性: 支持 @BusinessProcessScoped be ...
- sync.waitgroup ----等待goroutine的执行完成
可以尝试改变wg.add里的值,改变wg.wait,或者wg.done的出现次数以及位置. 感受它的使用
- leetcode5698.基本计算器
给你一个整数数组 nums ,和两个整数 limit 与 goal .数组 nums 有一条重要属性:abs(nums[i]) <= limit . 返回使数组元素总和等于 goal 所需要向数 ...
- 如何使用 jest 和 lint-staged 只检测发生改动的文件
我们现在在推进 EPC 的过程中,单元测试是必备的技能,在本地的 Git commit 之前进行单测非常有必要,总不能把所有的单测的压力都放在流水线上. 毕竟在流水线运行单测的成本还是挺高的,从 pu ...
- VBS脚本编程(6)——对象的创建与调用
对象:严格的说,对象是复杂数据和程序结构在内存中的表现,只有在程序运行时才存在.包含有方法和属性. 对象的创建及用法 1. Set 语句 将对象引用赋给一个变量或属性,或者将对象引用与事件关联. Se ...