如何让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
获取从对话框中选择的文件的父目录,并将其存储在变量中。
不知何故,在Windows 7上的机器就像get-and-store-parent-directory-from-the-file-selected-stuff一样自动发生。我想在Windows 10机器上也有这种行为。 –
如果你想要它。实施它。事情不会自动发生。他们被编程。无论是你还是其他人。 – Pythonista
它发生在我的Windows 7系统上。我没有编程,所以有人做了 - 我期待WIndows。我如何在Windows 10下获得该行为? –