跨平台文件搜索工具

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from Tkinter import *
import tkMessageBox
import tkFileDialog
import os
import fnmatch
from ScrolledText import ScrolledText

def func():
    str1 = ent1.get()
    str2 = ent2.get()
    if not (str1 and str2):  #not str1 or not str2 ,当前两个值都不可以为空。
        tkMessageBox.showinfo(‘温馨提示‘,‘请先输入查询的关键字和文件类型再选择文件夹!‘)
        return
    fn = tkFileDialog.askdirectory() #选择一个文件夹路径
    
    if not fn:
        return
    listbox.delete(0,END)
    fnlist = os.walk(fn)
    for root,dirs,files in fnlist:
        for i in fnmatch.filter(files,str2):  #过滤,指定文件类型。
            f = open(root + "/" + i).read()
            if str1 in f:
                listbox.insert(END,root + "/" + i)

def func2(e):
    if not listbox.curselection():
        return
    window = Tk()
    window.title("文件查看")
    text = ScrolledText(window,width=100) #带滚动条的多行文本框
    text.grid()
    path = listbox.get(listbox.curselection(),last=None)
    fn = open(path)
    text.insert(END,fn.read())
    fn.close()

root = Tk()
root.title("文件搜索工具")
root.geometry("+600+300")
Label(root,text="搜索词").grid()
ent1 = Entry(root)
ent1.grid(row=0,column=1) #row=横坐标,column=纵坐标

Label(root,text="文件类型").grid(row=0,column=2)
ent2 = Entry(root)
ent2.grid(row=0,column=3)
btn = Button(root,text="选择文件",command=func)
btn.grid(row=0,column=4)
var1 = StringVar()
listbox = Listbox(root,width=80)
listbox.bind("<Double-Button-1>",func2)
listbox.grid(row=1,column=0,columnspan=5)
#grid=网格布局
root.mainloop()
时间: 2024-08-03 11:09:25

跨平台文件搜索工具的相关文章

Atitit.文件搜索工具&#160;attilax&#160;总结

Atitit.文件搜索工具 attilax 总结 1. 指定目录按照体积大小精确搜索1 1.1. File Seeker 4.5 版本的可以,3.5版本的不行..1 2. 按照文件内容搜索1 2.1. File Seeker2 2.2. Notepad++2 2.3. FileLocator Pro 是一款专业的文件搜索软件,2 2.4. 百度硬盘搜索3 3. 在的3 1. 指定目录按照体积大小精确搜索 1.1. File Seeker 4.5 版本的可以,3.5版本的不行.. 2. 按照文件内

文件搜索工具

推荐一个windows平台小而快的文件搜索工具——Everything Search Engine,官网:https://www.voidtools.com/

文件搜索工具everything

Everything是voidtools开发的一款文件搜索工具,官网描述为“基于名称实时定位文件和目录(Locate files and folders by name instantly) (“Everything”只能检索NTFS,对FAT32.FAT16不支持.) 搜索(使用)方式: 1.在搜索框中键入文件或文件夹名称的一部分,结果立刻呈现 2.布尔算术符操作 (使用英文半角标点符号) AND(且)是缺省使用的 搜索foo和bar同时出现的文件:foo<space>bar OR (或者)

Linux文件搜索工具--find、locate

文件查找 在文件系统上查找符合条件的文件: 文件查找: locate, find 非实时查找(数据库查找): locate 实时查找: find 1. 非实时查找(数据库查找): locate 查询系统上预建的文件索引数据库  (基于此数据库搜索) 数据库:  /var/lib/mlocate/mlocate.db 依赖于事先构建的索引 索引的构建是在系统较为空闲时自动进行(周期性任务), 管理员手动更新数据库 :  updatedb (新建立的文件,需要更新数据库以后才能搜索到,所以适合查找比

Ubuntu 16.04下轻量级文件搜索工具Catfish

Catfish搜索文件速度快,但是不支持正则表达式. 安装: sudo add-apt-repository ppa:catfish-search/ppa sudo apt-get update sudo apt-get install catfish 启动: 搜索:

Everything -- 实时文件搜索工具

1. why windows 不知道某个文件放在哪个目录下面,自带搜索很慢,很不好用. 2. what Locate files and folders by name instantly. 3. how 官网下载:http://www.voidtools.com/ 所有信息查看官网 官网截图看下面 http://www.voidtools.com/ 原文地址:https://www.cnblogs.com/hubertoo/p/9022494.html

文件搜索工具之grep、egrep

定义: grep :Global search Regular Expression and Print out the line. egrep :Extend Global search Regular Expression and Print out the line. fgrep :Fast Global search Regular Expression and Print out the line. 注:fgrep不解析任何正则表达式,不常使用. 格式:grep/egrep  [OPT

文件搜索者--find命令详解

1. 文件查找: 在linux系统中由于文件的众多,往往需要在众多的文件当中查找某一个文件,如果时间一长,很难记得文件存放至何处,不过,这一点,你不比担心,因为开发人员为我们提供了强大的文件搜索工具,下面将介绍两款常用的文件查找工具locate,和find,这两款查找工具只能是从文件系统中查找不能在内存当中查找,因为内存是没有文件系统的. 2. locate命令: locate命令是基于数据库来查找文件的,命令查找速度快,一般查找跟新慢的,名字变化少的,如:配置文件,可以用locate查找,因为

Everything(超级文件搜索)+ 绿色中文版

Everything是速度最快的文件搜索软件,可以瞬间搜索到你需要的文件.如果你用过Windows自Everything是速度最快的文件搜索软件,可以瞬间搜索到你需要的文件.如果你用过Windows自带的搜索工具.Total Commander的搜索.Google 桌面搜索或百度硬盘搜索,都因为速度或其他原因而不满意:或者用了Locate32也不满意(或满意),推荐这款体积小巧.免安装.免费.速度极快(比Locate32更快)的文件搜索工具Everything! 它体积小巧,界面简洁易用,快速建