如何在python中通过askopenfilename检查所选文件的文件扩展名

如何在python中通过askopenfilename检查所选文件的文件扩展名,python,tkinter,Python,Tkinter,我在检查文件扩展名方面有问题。使用askopenfilename,我们可以选择任何类型的文件,但我只想要*.jpg文件,所以我想检查所选文件是否为jpg。 我试过了,但没有结果,没有错误 self.filename = filedialog.askopenfilename(initialdir="/", title="Select a File",

我在检查文件扩展名方面有问题。使用askopenfilename,我们可以选择任何类型的文件,但我只想要*.jpg文件,所以我想检查所选文件是否为jpg。 我试过了,但没有结果,没有错误

self.filename = filedialog.askopenfilename(initialdir="/",
                                              title="Select a File",
                                              filetypes = (("jpg files","*.jpg"),("all files","*.*")))
self.splittedfilename = self.filename.split("/")

if self.splittedfilename[-1] == "*.jpg":
    print(self.filename)
else:
    pass

您可以使用
os.path.splitext()
函数

例如:

导入操作系统
splittedfilename=os.path.splitext(“/path/to/fname.ext”)
打印(拆分文件名)
结果是:

('/path/to/fname', '.ext')

因此,您可以通过查找字符串的
.endswith()
方法来获取文件扩展名。你可以简单地使用

if self.splittedfilename.endswith(".jpg"):
    print(self.filename)
else:
    pass
但是,建议在处理文件时使用
pathlib
,这样可能更好:

import pathlib

path = pathlib.Path(self.filename)

if path.suffix == ".jpg":
    print(self.filename)