Определение того, является ли данный модуль Python встроенным

Я занимаюсь синтаксическим анализом и самоанализом различных модулей, но я не хочу анализировать встроенные модули. Сейчас, не существует специального типа для встроенных модулей, например types.BuiltinFunctionType , так как мне это сделать?

>>> import CornedBeef
>>> CornedBeef
<module 'CornedBeef' from '/meatish/CornedBeef.pyc'>
>>> CornedBeef.__file__
'/meatish/CornedBeef.pyc'
>>> del CornedBeef.__file__
>>> CornedBeef
<module 'CornedBeef' (built-in)>

Согласно Python, модуль очевидно является встроенным, если он не иметь атрибут __ file __ . Означает ли это, что hasattr (SomeModule, '__file __') - это способ проверить, встроен ли модуль? Конечно, это не совсем обычное явление для del SomeModule .__ file __ , но есть ли более надежный способ определить, является ли модуль встроенным?

18
задан porgarmingduod 7 February 2011 в 14:39
поделиться