python - 如何让 Windows 记住使用 tkinter filedialog 使用的最后一个目录?

标签 python windows tkinter

代码如下:

from tkinter import filedialog

image_formats= [("JPEG", "*.jpg"), ("All files", "*.*")]

file=filedialog.askopenfilename(filetypes=image_formats)

我可以打开一个文件对话框,将我带到一个 .jpg 文件。 在我的 Windows 7 开发箱上,这会记住关闭和打开程序的目录——允许从目录中选择多个文件很容易。

但是,在分发之后,使用 cx_Freeze 及其 bdist_msi 选项,相同程序到 Windows 10 机器的目录将不再被记住。如何获取 Windows 10 系统上的 Windows 7 行为?我最好不要手动执行此操作,而是依赖底层的 Windows 机制。

PS 实际程序的完整 bdist_msi 分布可在 https://sites.google.com/site/klamerschutte/system/app/pages/admin/revisions?wuid=wuid:gx:403dfb9983518218 获得。

最佳答案

我知道这是一个老问题,但我最近碰巧遇到了这个问题。我用最新版本的 Python 3.7 试过了。

我的解决方法:不要添加 initialdir 参数。在 Windows 10 上,它将在调用文件对话框时从上次使用的目录开始。

关于python - 如何让 Windows 记住使用 tkinter filedialog 使用的最后一个目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42040434/

相关文章:

java - 如何找到我的 java jdk 文件夹并编辑路径变量 - 集成 Maven

python - 如何使用 Tkinter 在 python 脚本中存储图像?

python - Tkinter 常规语句不起作用

.net - 使用 System.Security.Cryptography 将 Win32 Crypto API 调用转换为 C#

c# - 我该如何修复“"error CS0009: Metadata file "System.Xml.dll'无法打开-图像太小”?

Python 和 Tkinter - 设置标签文本变量的按钮命令问题

python - 理解 Django 内部工作——从哪里开始?

Windows 上的 Python 安装失败

python - 默认参数在 python 中是如何工作的

python - 如何在源代码预览中压缩/删除多个空白行