#!/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()
跨平臺文件搜索工具
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.