Tree tk (file explorer)(树tk(文件资源管理器))
本文介绍了树tk(文件资源管理器)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想创建一个文件资源管理器,但在id=tree.int()方面遇到了一些问题
def SUBS(path):
PO = ""
parent = tree.parent(XOM)
while os.path.exists(path+"/"+PO):
X1 = 0
List = os.listdir(path+"/"+PO)
for element in List:
X1 += 1
if os.path.isfile(path+"/"+element):
tree.insert(XOM,str(X1),text=element)
if os.path.isdir(path+"/"+element):
id = tree.insert(XOM,str(X1),text=element)
PO = element
break
X = 0
Path = "/"
WinT = Tk()
tree = ttk.Treeview(WinT ,height=15)
tree.pack(expand=YES,fill=BOTH)
tree.heading("#0" ,text="Directory")
PATH = os.listdir(Path)
for element in PATH:
X += 1
PaTh = Path+"/"+element
if "//" in PaTh:
PATH = PaTh.replace('//','/')
if "//" not in PaTh:
PATH = PaTh
if "." in element :
tree.insert('',str(X),text=element)
if "." not in element:
XOM = tree.insert('',str(X),text=element)
SUBS(PATH)
所以问题是函数subs(),问题实际上来自于这样一个事实,即开始时m使用id=它应该只通过函数subs()使用,否则id已经存在并且不能工作..我想在subs()中使用id=而不是X=,但我不能..
推荐答案
您想要的是递归函数,即调用自身的函数。
def SUBS(path, parent):
for p in os.listdir(path):
abspath = os.path.join(path, p)
parent_element = tree.insert(parent, 'end', text=p, open=True)
if os.path.isdir(abspath):
SUBS(abspath, parent_element)
path = "C:/"
WinT = Tk()
tree = ttk.Treeview(WinT ,height=15)
tree.pack(expand=YES,fill=BOTH)
tree.heading("#0" ,text="Directory")
root = tree.insert('', 'end', text=path, open=True)
SUBS(path, root)
WinT.mainloop()
它获取目录中的所有元素并将其添加到树小部件。如果它是函数本身调用的另一个目录,直到它们不再是剩余的目录。
这篇关于树tk(文件资源管理器)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:树tk(文件资源管理器)
猜你喜欢
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01
- 我如何透明地重定向一个Python导入? 2022-01-01
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01
- 计算测试数量的Python单元测试 2022-01-01
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01