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

问题描述:

有这样的代码:如何让Windows记住使用tkinter filedialog的最后一个目录?

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

如果我理解你的问题正确,你想知道如何设置每当显示选择文件(不论类型的对话框初始启动目录)。

您可以将initialdir参数设置为askopenfilename,该参数将采用所需起始目录的路径。

例如,如果我总是想让对话框打开到用户的home文件夹,那么我可以使用os.path.expanduser('~')作为initialdir参数。

如果您想让它记住上次使用的目录,请使用os.pardir获取从对话框中选择的文件的父目录,并将其存储在变量中。

+0

不知何故,在Windows 7上的机器就像get-and-store-parent-directory-from-the-file-selected-stuff一样自动发生。我想在Windows 10机器上也有这种行为。 –

+0

如果你想要它。实施它。事情不会自动发生。他们被编程。无论是你还是其他人。 – Pythonista

+0

它发生在我的Windows 7系统上。我没有编程,所以有人做了 - 我期待WIndows。我如何在Windows 10下获得该行为? –