[TOOL]文本查找

在文本文件filename 中,查找由系统剪切板(pyperclip)复制的关键词keyWord,并显示从offsetMin 到offsetMax 行的信息。

import pyperclip
import os,sys


filename = r'D:xxx.txt'
offsetMin = -1
offsetMax = 5
def findSth():

    file=open(filename,'r')    
    file_contents=file.readlines()#按行读取全部内容 
    maxCnt = len(file_contents)
    try:
        while True:
            print(f"search:{pyperclip.waitForNewPaste(999)}")            
            os.system ('cls')
            keyWord = pyperclip.paste()
            if keyWord == ''or keyWord == '\n': continue
            lineCnt = 0 # 计算行数                        
            for content in file_contents:    
                if  keyWord in content:          
                    print("")          
                    for j in range(offsetMax-offsetMin):
                        idx = lineCnt+offsetMin+j                   
                        if idx<0 : idx = 0
                        if idx>maxCnt:idx =maxCnt                        
                        print(file_contents[idx],end=' ') 
                lineCnt += 1
            #raise Exception("抛出一个异常") 
    except Exception as e:##EOFError
        os.system ('cls')
    finally:
        file.close()
            
    
if __name__=='__main__':
    while True:
        findSth()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值