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


Posted in Python onDecember 08, 2017

本文主要分享了关于在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编程之gui程序实现简单文件浏览器代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

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

Python 相关文章推荐
深入浅析python中的多进程、多线程、协程
Jun 22 Python
Python自定义简单图轴简单实例
Jan 08 Python
基于python神经卷积网络的人脸识别
May 24 Python
Python基于最小二乘法实现曲线拟合示例
Jun 14 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
Feb 17 Python
打包python 加icon 去掉cmd黑窗口方法
Jun 24 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
Aug 14 Python
python 中xpath爬虫实例详解
Aug 26 Python
Python selenium抓取虎牙短视频代码实例
Mar 02 Python
pycharm永久激活超详细教程
Oct 29 Python
使用python+pygame开发消消乐游戏附完整源码
Jun 10 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 #Python
python的unittest测试类代码实例
Dec 07 #Python
Python numpy 常用函数总结
Dec 07 #Python
分享6个隐藏的python功能
Dec 07 #Python
Python中pygal绘制雷达图代码分享
Dec 07 #Python
Python学习之用pygal画世界地图实例
Dec 07 #Python
用Pygal绘制直方图代码示例
Dec 07 #Python
You might like
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
PHP+Mysql+jQuery实现动态展示信息
2011/10/08 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
图片完美缩放
2006/09/07 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
js分页代码分享
2014/04/28 Javascript
jquery查找tr td 示例模拟
2014/05/08 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
2015/10/13 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
python 基础教程之Map使用方法
2017/01/17 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
html+js 实现markdown编辑器效果
2019/10/23 HTML / CSS
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
护士毕业自我鉴定
2014/02/07 职场文书
学前班教学反思
2016/02/24 职场文书