目前,我正在编程一个GUI,它应该允许用户保存文件并选择文件类型(比方说:jpg,bmp)。我正在使用Python 3.4的tkinter。
不幸的是,我无法弄清楚用户选择了哪种文件类型:我正在使用asksaveasfilename-dialog,我只能获得路径:
from tkinter import filedialog
path = filedialog.asksaveasfilename(filetypes = [('Bitmap', '.bmp'),('jpg', '.jpg')])
我可以尝试从路径中提取扩展名,但这可能会导致意外行为:
有没有办法获取用户选择的文件类型? 还有其他方法吗?
答案 0 :(得分:0)
当我遇到同样自动更新扩展程序的问题时,我偶然发现了你的问题。显然你可以尝试使用插件: 参见:
https://geonet.esri.com/blogs/thespatialextent
pythonaddins.SaveDialog = saveFileDialog
这个与OpenDialog几乎完全相同,除了不是过滤文件,我们能够自动将特定扩展附加到用户的输入。也可以传入一个文件类型描述和扩展的元组列表,然后填充“另存为文件类型”下拉列表,但同样唯一的做法是过滤显示的文件。它实际上是FileExtension参数,它将扩展名附加到返回值。
狡猾的死灵!