Python: вопрос "import posix" - PullRequest
6 голосов
/ 17 июня 2011

Если я импортирую os модуль, я могу запустить следующее, чтобы определить местоположение os.py

>>> import os
>>> print os.__file__
/usr/lib/python2.6/os.pyc

Однако, когда я импортирую posix, он не имеет __file__приписывать.Это потому, что он реализован как часть среды выполнения python, а не как стандартная библиотека?

Как узнать больше информации, подобной этой, используя только официальную документацию по python?

Ответы [ 3 ]

6 голосов
/ 17 июня 2011

Это модуль Си. Он может быть встроен в двоичный файл Python или скомпилирован как разделяемая библиотека. В вашем случае это скомпилировано в

Официальные документы говорят, что не следует импортировать напрямую, и вы должны использовать функциональность, предоставляемую через os

3 голосов
/ 17 июня 2011

Запустите Python в интерактивном режиме.

>>> import posix
>>> help(posix)

Там есть много хороших вещей.

FILE
    (built-in)
1 голос
/ 17 июня 2011

Вы также можете использовать модуль inspect для поиска информации (например, пути к исходному файлу и т. Д.) О модуле Python.Например:

import inspect
import os
inspect.getsourcefile(os)
'/usr/local/lib/python2.7/os.py'

inspect.getsourcefile(inspect)
'/usr/local/lib/python2.7/inspect.py'

import sys        
inspect.getsourcefile(sys)
Traceback (most recent call last):
[...]
raise TypeError('{!r} is a built-in module'.format(object))
TypeError: <module 'sys' (built-in)> is a built-in module
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...