如何猜测 python 的文件扩展名?

How to guess a file extension with python?

我最近尝试制作一个 python 代码,它采用一个文件的路径 没有扩展名 并确定它有什么扩展名。

我正在寻找类似下面示例的内容。在示例中,扩展名是 exe(但代码还不知道)。

path = 'C:\MyPath\Example'
#takes the path above and guesses the programs extension:
extension = guess_extension(path)
#adds the extension to the path:
fullPath = path+extension
print(fullPath)

输出:

C:\MyPath\Example.exe

如果您知道 python 模块可以做到这一点(或类似的东西),请在下面列出。


我曾尝试使用文件类型 (filetype.guess()) 和 mimetypes (mimetypes.guess_extension()) 模块,但它们都会 return 值 none.
我也尝试使用许多问题的答案,例如 this one,但仍然没有用。

听起来内置的 glob 模块 (glob docs) 可能就是您要找的。此模块在 Python.

内提供 Unix 样式模式扩展功能

在以下示例中,不完整的 path 变量在传递给 glob.glob 时附加了 str .*。这实质上告诉 glob.glob 到 return 在主机系统中找到的 list 有效路径,这些路径与 path 相同,后跟句点(指定文件扩展名),星号匹配 path + '.'.

中的所有字符
import glob

path = r'C:\Program Files\Firefox Developer Edition\minidump-analyzer'

full = glob.glob(path+'.*')

print(full[0])

输出:C:\Program Files\Firefox Developer Edition\minidump-analyzer.exe

值得注意的是,以上只是说明如何利用 glob 作为您问题的解决方案的一部分。应根据程序的需要正确处理意外输入、边缘情况、异常等。