我想知道这两种获取文件扩展名并检查它是否属于列表的更好方法。
name, ext = os.path.splitext(filename)
return ext == ".pdf" # an example
或
return filename.endswith(".pdf")
如果文件名包含任何扩展名,这里有两个使用这两种方法检查的示例。
ext = ('.txt', '.py', '.docx', '.pdf') # tuple of extensions.
filenames = [ ... ] # list of filename strings
ends_matches = [ f for f in filenames if f.endswith(ext) ]
# change ext to set for slightly better efficiency.
split_matches = [ f for f in filenames if f.splitext()[1] in ext ]
# may need to include .lower() for cases with capital extensions.
在这种情况下,要使用哪个完全取决于您。如果您只想检查单个文件扩展名,那么我建议使用后者,endswith
。
return filename.endswith(extension)
我是一名优秀的程序员,十分优秀!