在Python中是否有办法检查文件名以查看其扩展名是否包含在名称中?我目前的解决方法是简单地检查名称是否包含。在其中,并添加一个扩展,如果它没有...这显然不会捕获文件。但名称中没有扩展名(即12.10.13_file)。有人有什么想法吗?
答案 0 :(得分:2)
' 12.10.13_file'作为文件名,确实有' 13_file'作为它的文件扩展名。至少关于文件系统。
但是,而不是找到最后一个。亲自使用os.path.splitext:
import os
fileName, fileExtension = os.path.splitext('/path/yourfile.ext')
# Results in:
# fileName = '/path/yourfile'
# fileExtension = '.ext'
如果您想要排除某些扩展程序,可以在使用上述内容后将其列入黑名单。
答案 1 :(得分:1)
您可以libmagic
通过https://pypi.python.org/pypi/python-magic来确定"文件类型。"它并非100%完美,但可以通过这种方式对大量文件进行准确分类,然后您可以决定自己的规则,例如.txt
用于文本文件,.pdf
用于PDF等等。
不要考虑查找带扩展名或不带扩展名的文件 - 请根据内容对文件进行分类,忽略其当前名称。