Python 2.7相当于importlib.machine.EXTENSION_后缀

Python 2.7相当于importlib.machine.EXTENSION_后缀,python,python-2.7,Python,Python 2.7,我想使用Python3中的importlib.machine.EXTENSION\u后缀,但不幸的是我使用的是Python2.7 EXTENSION_后缀的计算结果为['.cpython-34m-x86_64-linux-gnu.so'、'.cpython-34m.so'、'.abi3.so'、'.so'],但这是特定于我的机器,可能是python版本的,因此我不能简单地硬编码列表 这里是Python 3源代码中内置的扩展后缀。然而,它似乎深入到了C实现()中,所以我不清楚如何获得这些信息 如何

我想使用Python3中的
importlib.machine.EXTENSION\u后缀
,但不幸的是我使用的是Python2.7

EXTENSION_后缀
的计算结果为
['.cpython-34m-x86_64-linux-gnu.so'、'.cpython-34m.so'、'.abi3.so'、'.so']
,但这是特定于我的机器,可能是python版本的,因此我不能简单地硬编码列表

这里是Python 3源代码中内置的
扩展后缀
。然而,它似乎深入到了C实现()中,所以我不清楚如何获得这些信息

如何在Python 2.7中获得此列表?

请改用:

返回3元素元组的列表,每个元组描述特定类型的模块。每个三元组都有形式(后缀、模式、类型),其中后缀是要附加到模块名称的字符串,以形成要搜索的文件名,模式是要传递给内置open()函数以打开文件的模式字符串(对于文本文件可以是“r”,对于二进制文件可以是“rb”),类型是文件类型,其中有一个值PY_SOURCE,PY_编译,或C_扩展,如下所述

因此,要将其过滤到C扩展模块的后缀列表中:

import imp
extension_suffixes = [suffix for (suffix, mode, type) in imp.get_suffixes()
                             if type == imp.C_EXTENSION]
这也适用于Python3,尽管Python3中不推荐使用
imp