You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在tkinter的filedialog.askdirectory()中检查特定文件夹是否存在

问题解决:检查选中路径下是否存在指定文件夹

你的代码有两个核心问题:

  1. os.path.isdir("Form Folder")仅检查当前脚本运行目录下的文件夹,和你通过文件对话框选中的路径完全无关
  2. 不管检查结果如何,都会打印"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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 12:01:05