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

如何在PySimpleGUI中重置FileBrowse或指定其初始路径?

重置PySimpleGUI中FileBrowse的初始路径

好问题!在PySimpleGUI里想要重置或指定FileBrowse的初始路径,其实可以通过给FileBrowse控件添加key并动态更新它的initial_folder参数来实现,下面给你两种常用的方案:

方案1:恢复首次浏览的初始路径

默认情况下,FileBrowse首次打开的路径是当前工作目录,我们可以先把这个初始路径保存下来,点击Cancel时再恢复回去。

修改后的完整代码

import PySimpleGUI as sg
import os

# 记录初始工作目录作为默认浏览路径
initial_folder = os.getcwd()

layout = [
    [sg.Text('File', size=(4, 1)), 
     sg.Input(key="-FILE-", default_text="browse!", size=(128, 2)), 
     # 给FileBrowse添加key,并设置初始路径
     sg.FileBrowse(key="-BROWSE-", initial_folder=initial_folder)],
    [sg.Button("Select file", key="-SELECT_FILE-"), 
     sg.Button("Cancel", key="-SELECT_CANCEL-")]
]

window = sg.Window('test reset browse', layout)

while True:
    event, values = window.read()
    if event == "-SELECT_CANCEL-":
        # 重置输入框文本
        window["-FILE-"].Update("cancel!")
        # 恢复FileBrowse的初始路径
        window["-BROWSE-"].Update(initial_folder=initial_folder)
    if event == sg.WIN_CLOSED:
        break

window.close()

关键说明

  • 给FileBrowse添加key="-BROWSE-",这样我们可以通过这个key定位到控件并修改它的属性
  • 用os.getcwd()获取程序启动时的工作目录,作为初始浏览路径保存
  • 点击Cancel时,调用window["-BROWSE-"].Update(initial_folder=initial_folder),就能让下次打开浏览窗口时回到初始路径

方案2:手动设置新的初始路径

如果你想在点击Cancel时指定一个自定义的路径(比如固定的文档目录),只需要把initial_folder的值改成你想要的路径即可:

if event == "-SELECT_CANCEL-":
    window["-FILE-"].Update("cancel!")
    # 手动设置下次浏览的初始路径,比如系统文档目录
    custom_folder = os.path.expanduser("~/Documents")
    window["-BROWSE-"].Update(initial_folder=custom_folder)

这样下次点击浏览按钮时,就会直接打开你指定的自定义文件夹啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 12:33:11