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

Mac系统下使用Tkinter的askopenfilename()时为何出现文件未找到错误?

问题解决:Tkinter文本编辑器打开文件时的FileNotFoundError

错误原因

你的代码里有两个关键问题:

  • 调用open()时用了字符串字面量 "text_file",而不是filedialog.askopenfilename()返回的实际文件路径变量text_file。程序因此尝试在当前目录寻找名为"text_file"的文件,自然找不到。
  • 最后一行text_file.close()完全错误,text_file是存储路径的字符串,不是打开的文件对象,真正需要关闭的是text_file1。

修正后的代码

def open_txt():
    text_file = filedialog.askopenfilename(initialdir="/", title="Select a File", filetypes=[("Text Files", "*.txt")])
    # 防止用户取消选择文件导致报错
    if text_file:
        # 使用with语句自动处理文件关闭,无需手动调用close()
        with open(text_file, "r") as text_file1:
            contents = text_file1.read()
            my_textbox.insert(END, contents)

补充说明

  • 这个错误和Windows/Mac系统差异无关,纯粹是代码逻辑问题,修正后在Mac上可以正常运行。
  • 使用with语句是Python操作文件的最佳实践,它会在代码块执行完毕后自动关闭文件,避免资源泄漏。

内容的提问来源于stack exchange,提问作者Graham Gill

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 05:05:36