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

如何将用户选择的文件名存入Python字典?

问题修复方案

你的代码存在几处问题,以下是修复后的完整代码及问题说明:

import os
from tkinter import filedialog as fd
import tkinter as tk

# 初始化tkinter根窗口(必须,否则部分环境下文件选择框无法弹出)
root = tk.Tk()
root.withdraw()  # 隐藏主窗口,只显示文件选择弹窗

def select_study_file():
    # 使用当前工作目录作为初始打开路径
    cur_dir = os.getcwd()
    study_path = fd.askopenfilename(initialdir=cur_dir, title='Select Study case')
    # 处理用户取消选择的场景
    if study_path:
        return os.path.basename(study_path)
    return ""

# 获取选择的文件名并存入字典
selected_file = select_study_file()
config_dic = {"study_case": selected_file}

# 打印验证结果
print(config_dic)

原代码的问题点:

  • 缺少必要模块导入:使用os.path.basename但未导入os;tkinter文件选择框需要先初始化根窗口,否则部分环境无法正常弹出,因此要导入tkinter并创建根实例。
  • 未定义cur_dir变量:直接用os.getcwd()获取当前工作目录作为初始路径即可。
  • 局部变量无法外部访问:函数内的study是局部变量,外部无法直接调用,通过让函数返回文件名,调用后用变量接收即可解决。
  • 未处理取消选择的情况:用户打开选择框后点击取消时,askopenfilename会返回空字符串,增加判断可以避免异常场景。

内容的提问来源于stack exchange,提问作者Sarvesh Gadre

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 22:58:18