2011-06-17 13 views
6

Si importo os módulo, que puede ejecutar las siguientes acciones para inferir la localización de os.pyPython: "POSIX importación" cuestión

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

Sin embargo, cuando la importación posix, que no tiene el atributo __file__ . ¿Es porque está implementado como parte del tiempo de ejecución de python, no como una biblioteca estándar?

¿Cómo puedo obtener más información como esta utilizando únicamente la documentación oficial de python?

Respuesta

6

Es un módulo C. Puede estar integrado en el binario de Python o compilado como una biblioteca compartida. En su caso se compila en

El official docs dicen no importar directamente, y se debe utilizar la funcionalidad proporcionada a través de os

3

Ejecute python de forma interactiva.

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

Hay muchas cosas buenas allí.

FILE 
    (built-in) 
+0

ayuda() es absolutamente útil. Aprende algo nuevo hoy, gracias! ¡Ojalá pueda aceptar tu respuesta también! –

1

También puede utilizar el módulo de 'inspeccionar' para encontrar información (por ejemplo la ruta del archivo fuente etc.) sobre un módulo python. Por ejemplo:

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