基于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')

评论