Python编程之gui程序实现简单文件浏览器代码

 更新时间:2017年12月08日 09:23:25   作者:过去不再从来  
这篇文章主要介绍了Python编程之gui程序实现简单文件浏览器代码,具有一定借鉴价值,需要的朋友可以了解下。

本文主要分享了关于在python中实现一个简单的文件浏览器的代码示例,代码及展示如下。

#!/usr/bin/env python
# -*- coding: UTF-8 -*- 
import os
from time import sleep
from Tkinter import * 

class DirList(object):
  def __init__(self, initdir=None):
    '''构造函数,说明版本信息'''
    self.top = Tk()
    self.label = Label(self.top, 
      text = 'My directory Lister v1.1')
    self.label.pack()
    self.cwd = StringVar(self.top)
    self.dir1 = Label(self.top, 
      fg='blue', font=('Helvetica', 22, 'bold'))
    self.dir1.pack()
    self.dirfm = Frame(self.top)
    self.dirsb = Scrollbar(self.dirfm)
    self.dirsb.pack(side=RIGHT, fill=Y)
    self.dirs = Listbox(self.dirfm, height=15,
      width=50, yscrollcommand=self.dirsb.set)
    self.dirs.bind('<Double-1>', self.setDirAndGo)
    self.dirsb.config(command=self.dirs.yview)
    self.dirs.pack(side=LEFT, fill=BOTH)
    self.dirfm.pack()
    self.dirn = Entry(self.top, width=50,
      textvariable=self.cwd)
    self.dirn.bind('<Return>', self.doLS)
    self.dirn.pack()
    self.bfm = Frame(self.top)
    self.clr = Button(self.bfm, text='Clear',
      command = self.clrDir,
      activeforeground = 'white',
      activebackground = 'blue')
    self.ls = Button(self.bfm, 
      text = 'List Directory',
      command = self.doLS,
      activeforeground = 'white',
      activebackground = 'green')
    self.quit = Button(self.bfm, text='Quit',
      command=self.top.quit,
      activeforeground='white',
      activebackground='red')
    self.clr.pack(side=LEFT)
    self.ls.pack(side=LEFT)
    self.quit.pack(side=LEFT)
    self.bfm.pack()
    if initdir:
      self.cwd.set(os.curdir)
      self.doLS()
  def clrDir(self, ev=None):
    self.cwd.set('')
  def setDirAndGo(self, ev=None):
    self.last = self.cwd.get()
    self.dirs.config(selectbackground='red')
    check = self.dirs.get(self.dirs.curselection())
    if not check:
      check = os.curdir
    self.cwd.set(check)
    self.doLS()
  def doLS(self, ev=None):
    error = ''
    tdir = self.cwd.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.cwd.set(error)
      self.top.update()
      sleep(2)
      if not (hasattr(self, 'last') \
        and self.last):
        self.last = os.curdir
        self.cwd.set(self.last)
        self.dirs.config(\
          selectbackground='LightSkyBlue')
        self.top.update()
        return
    self.cwd.set(\
      'FETCHING DIRECTORY CONTENTS...')
    self.top.update()
    dirlist = os.listdir(tdir)
    dirlist.sort()
    os.chdir(tdir)
    self.dir1.config(text=os.getcwd())
    self.dirs.delete(0, END)
    self.dirs.insert(END, os.curdir)
    self.dirs.insert(END, os.pardir)
    for eachFile in dirlist:
      self.dirs.insert(END, eachFile)
    self.cwd.set(os.curdir)
    self.dirs.config(\
      selectbackground='LightSkyBlue')
def main():
  d = DirList(os.curdir)
  mainloop()
if __name__ == '__main__':
  main()

结果:

代码实现功能较简单,感兴趣的朋友参考下吧!

以上就是本文关于Python编程之gui程序实现简单文件浏览器代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

Python中pygal绘制雷达图代码分享

pip和pygal的安装实例教程

Python编程实现使用线性回归预测数据

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • 基于Keras中Conv1D和Conv2D的区别说明

    基于Keras中Conv1D和Conv2D的区别说明

    这篇文章主要介绍了基于Keras中Conv1D和Conv2D的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python实现飞船游戏的纵向移动

    python实现飞船游戏的纵向移动

    这篇文章主要为大家详细介绍了python实现飞船游戏的纵向移动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • Pycharm连接远程mysql报错的实现

    Pycharm连接远程mysql报错的实现

    本文主要介绍了Pycharm连接远程mysql报错的实现,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • python MultipartEncoder传输zip文件实例

    python MultipartEncoder传输zip文件实例

    这篇文章主要介绍了python MultipartEncoder传输zip文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • django drf框架自带的路由及最简化的视图

    django drf框架自带的路由及最简化的视图

    这篇文章主要介绍了django-drf框架自带的路由以及最简化的视图,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Python使用asyncio.Queue进行任务调度的实现

    Python使用asyncio.Queue进行任务调度的实现

    本文主要介绍了Python使用asyncio.Queue进行任务调度的实现,它可以用于任务调度和数据交换,文中通过示例代码介绍的非常详细,感兴趣的可以了解一下
    2024-02-02
  • 五个有趣的Python整蛊小程序合集

    五个有趣的Python整蛊小程序合集

    Python 能做很多无聊,但有意思的事情。本文为大家精心准备了五个整蛊朋友的小程序,文中的示例代码讲解详细,感兴趣的小伙伴快动手试一试
    2022-04-04
  • python环境下安装opencv库的方法

    python环境下安装opencv库的方法

    这篇文章主要介绍了python环境下安装opencv库的方法 ,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Python实现的字典排序操作示例【按键名key与键值value排序】

    Python实现的字典排序操作示例【按键名key与键值value排序】

    这篇文章主要介绍了Python实现的字典排序操作,结合实例形式分析了Python针对字典分别按照键名key与键值value进行排序的相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • python翻译软件实现代码(使用google api完成)

    python翻译软件实现代码(使用google api完成)

    这篇文章主要介绍了python结合google api完成的翻译软件实现代码,大家参考使用
    2013-11-11

最新评论