本文主要分享了关于在python中实现一个简单的文件浏览器的代码示例,代码及展示如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
#!/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程序实现简单文件浏览器代码的全部内容,希望对大家有所帮助。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://blog.csdn.net/youhaibo1990/article/details/50574425