Python-使用tkinter以及模仿栈的深度遍历
2017-08-06 11:22
351 查看
效果就是将一个目录中的目录或内容用tkinter的树状数据的界面显示出来,我采用了深度遍历,
如果不是很了解的可以看我上一条博客,关于目录的三种遍历方式http://blog.csdn.net/qq_38105596/article/details/76402732
效果图如:
import tkinter from tkinter import ttk import os win = tkinter.Tk() win.title("我是文件夹") win.geometry("400x400+200+10") tree = ttk.Treeview(win) tree.pack()
# tkinter的树状插入目录的语法 # treeF1 = tree.insert("", 0, "中国", text="中国ch", values=(1)) # 深度遍历 def getFiles(path): stack = [] stack.append(path) tdir = "" pathList = [] while len(stack) != 0: # 获取文件路径 dirPath = stack.pop() # 获取文件列表 dirList1 = os.listdir(dirPath) # t1 = "" t = True for fileName in dirList1: # 每个文件或目录的绝对路径 fileAbspath = os.path.join(dirPath, fileName) if os.path.isdir(fileAbspath): print("目录:", fileName) pathList.append(fileAbspath) for sk in pathList: print("sk = ", sk) if fileAbspath == os.path.join(sk, fileName): print("========") print(fileAbspath) tx = tree.insert(sk, 2, fileAbspath, text=fileName) t = False break if t: t2 = tree.insert("", 1, fileAbspath, text=fileName) stack.append(fileAbspath) # print("目录:",fileAbspath) else: print("文件:", fileName) print("tdir = ", tdir) print("fileAabspath = ", fileAbspath) print("join = ", os.path.join(tdir, fileName)) for sk1 in pathList: print("sk1 = ", sk1) if fileAbspath == os.path.join(sk1, fileName): print("========") print(fileAbspath) tx = tree.insert(sk1, 2, fileAbspath, text=fileName) t = False break if t: t2 = tree.insert("", 1, fileAbspath, text=fileName) getFiles(r"写上自己要遍历的目录的绝对路径") win.mainloop()
相关文章推荐
- python模仿POST提交HTTP数据以及使用Cookie值
- 在python中使用record, for ** in **以及定义函数
- python 装饰器功能以及函数参数使用介绍
- python 装饰器功能以及函数参数使用
- python3使用tkinter做界面之菜单
- python 装饰器功能以及函数参数使用介绍
- python2.6使用mysql包出现的一些问题以及解决办法
- python3使用tkinter做界面之文件树FileTreeWidget
- python2.6使用mysql包出现的一些问题以及解决办法
- Python Matplotlib安装方法以及使用
- 使用python的Tkinter构建应用程序
- Python GUI开发初步——安装和使用Tkinter
- linux下python升级以及安装tkinter的一系列问题
- python3使用tkinter做界面之拆分窗口(SplitWindow)
- Memcached 安装、使用(Python操作)以及常用方法
- Javascript验证码的生成 和 C#生成验证码 以及 iframe的使用——模仿京东网练习的总结
- 使用Tkinter做python的GUI编程
- 【转】python中使用 C 类型的数组以及ctypes 的用法
- Python中的strip()和lstrip()以及rstrip()方法的使用
- Pydev 的覆盖率测试python coverage以及其他使用