如何在tkinter的filedialog.askdirectory()中检查特定文件夹是否存在
问题解决:检查选中路径下是否存在指定文件夹
你的代码有两个核心问题:
os.path.isdir("Form Folder")仅检查当前脚本运行目录下的文件夹,和你通过文件对话框选中的路径完全无关- 不管检查结果如何,都会打印"Yess",缺失正确的逻辑判断
修正后的代码
from tkinter import * import os from tkinter import filedialog def Browse(): find = filedialog.askdirectory() folder.set(find) if find: # 拼接选中路径与目标文件夹名,自动适配不同系统的路径分隔符 target_path = os.path.join(find, "Form Folder") # 检查选中路径下的目标文件夹是否存在 if os.path.isdir(target_path): print("Yess") else: print("指定文件夹不存在") else: print("cancelled") form1 = Tk() form1.title("Check file") # 修正标题设置错误,原写法会覆盖title方法 folder = StringVar() button = Button(form1, text="browse", command=Browse) button.pack() form1.mainloop()
关键说明
os.path.join():自动处理Windows、Linux/macOS的路径分隔符差异,避免手动拼接出错- 补充条件分支:根据检查结果输出对应内容,符合逻辑预期
- 修复窗口标题问题:
form1.title()是方法而非属性,原写法会导致后续无法正常调用标题相关功能
内容的提问来源于stack exchange,提问作者user20803399
相关产品推荐
相关产品推荐

