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