我正在使用tkinters的askopenfilename和一些预定义的文件类型:
tkinter.filedialog.askopenfilename(parent=self,
title=_("Select Attachment"),
multiple=False,
initialdir=initialdir,
filetypes=filetypes)
文件类型包括'png','jpg','bmp',...
filedialog只会显示我预期的指定类型的文件。 但是当我输入文件名时,无论它是哪种类型,它都会接受它。
这是tkinter的错误吗?这是预期的行为吗?我是否需要解决方法或是否可以更改askopenfilenames的行为?
答案 0 :(得分:0)
我希望这是预期的行为。毕竟 - You can't actually know the file's data type until you open it up。
因此,无论您做什么,用户只需使用程序的白名单扩展名重命名文件即可绕过它。当然,如果你真的想要健壮,你可以阅读前几个字节和check the magic number并希望这是正确的; - )。