基于Python的文件查找软件
- 在学习到tkiner时,做的一个练习
- 首先这个软件大致可分为3部分
- UI界面的绘制,使用label ,button ,scrollbar, listBox ,Entry这些控件
- os系统类的使用,获取系统当前目录路径,上级目录路径
- 核心:控件之前的联动,获取目录路径出错处理
- 最重要的处理逻辑如下:
def doLS(self, en=None):
error=''
tdir = self.cmd.get()
if not tdir : tdir = os.curdir
if not os.path.exists(tdir):
error = tdir + ': no such file'
elif not os.path.isdir(tdir):
error = tdir + ':not a directory'
if error:
self.cmd.set(error)
self.top.update()
sleep(2)
if not (hasattr(self, 'last') and self.last):
self.last = os.curdir
self.cmd.set(self.last)
self.dirs.config(selectbackground='LightSkyBlue')
self.top.update()
return
self.cmd.set(self.last)
self.dirs.config(selectbackground='LightSkyBlue')
self.top.update()
return
self.cmd.set('FETCHING DIRECTORY CONTENTS...')
self.top.update()
dirList = os.listdir(tdir)
dirList.sort()
os.chdir(tdir)
self.dirl.config(text=os.getcwd())
self.dirs.delete(0, END)
self.dirs.insert(END, os.curdir)#当前目录macos .
self.dirs.insert(END, os.pardir)#上级目录 ..
for eachFile in dirList:
self.dirs.insert(END, eachFile)
self.cmd.set(os.curdir)
self.dirs.config(selectbackground='LightSkyBlue')