Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
相当于xdg mime查询文件类型的Python_Python_Mime Types_Xdgutils - Fatal编程技术网

相当于xdg mime查询文件类型的Python

相当于xdg mime查询文件类型的Python,python,mime-types,xdgutils,Python,Mime Types,Xdgutils,我正在寻找一个python库,该库为给定文件提供与bash命令xdg mime query filetype完全相同的mime类型。目标是使用该函数查找目录中具有特定mime类型的所有文件(application/mbox) 我知道xdg库,但它没有一个函数返回与xdgmime命令相同的值 您可以提供自己到python mimetypes模块的映射,这样您就可以对所有需要的扩展名调用xdg mime,然后创建一个文件,将其馈送到mimetypes,如下所示: import mimetypes m

我正在寻找一个python库,该库为给定文件提供与bash命令
xdg mime query filetype
完全相同的mime类型。目标是使用该函数查找目录中具有特定mime类型的所有文件(
application/mbox


我知道
xdg
库,但它没有一个函数返回与
xdgmime
命令相同的值

您可以提供自己到python mimetypes模块的映射,这样您就可以对所有需要的扩展名调用xdg mime,然后创建一个文件,将其馈送到mimetypes,如下所示:

import mimetypes
mimetypes.init()
extra={".123": "application/vnd.lotus-1-2-3"}
[mimetypes.add_type(value, key) for key, value in extra.items()]

# testing

mimetypes.guess_type("x.123")

给出了“application/vnd.lotus-1-2-3”

您可以提供自己到python mimetypes模块的映射,这样您就可以对所有需要的扩展名调用xdg mime,然后创建一个文件,将其馈送到mimetypes,如下所示:

import mimetypes
mimetypes.init()
extra={".123": "application/vnd.lotus-1-2-3"}
[mimetypes.add_type(value, key) for key, value in extra.items()]

# testing

mimetypes.guess_type("x.123")

给出了“application/vnd.lotus-1-2-3”

xdg mime
不依赖于文件扩展名,因此这不起作用。在我的例子中,这些文件甚至没有扩展名,还有一个python绑定到libmagic,我想这是绕过文件扩展名时最直接的选择。libmagic只说
ASCII文本,使用CRLF,LF行终止符
xdgmime
不依赖文件扩展名,所以这不起作用。在我的例子中,这些文件甚至没有扩展名,还有一个python绑定到libmagic,我想这是绕过文件扩展名时最直接的选择。libmagic只说
ASCII文本,带有CRLF,LF行终止符
Yes,我以前确实使用过这种解决方法。您的解决方案不是与xdg mime等效的python,而是从python内部运行bash命令。您的解决方案不是与xdg mime等效的python,而是从python内部运行bash命令。