2012-09-02 41 views

Respuesta

24

Como han dicho las otras respuestas, puede usar __file__. Sin embargo, tenga en cuenta que esto no dará la ruta completa si el otro módulo está en el mismo directorio que el programa. Así que para estar seguro, hacer algo como esto:

>>> import os 
>>> import math 
>>> os.path.abspath(math.__file__) 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/math.so' 

He aquí un ejemplo de un módulo que hice llamado checkIP para ilustrar por qué es necesario para conseguir el abspath (checkIP.py está en el directorio actual):

>>> import os 
>>> import checkIP 
>>> os.path.abspath(checkIP.__file__) 
'/Users/Matthew/Programs/checkIP.py' 
>>> checkIP.__file__ 
'checkIP.py' 
1

Usted puede tratar de:

import os 
print os.__file__ 

para ver donde se encuentra el módulo.

1

Si se trata de un módulo dentro de su árbol de directorios PYTHONPATH (y accesible al colocar un __init__.py en su directorio y directorios principales), llame al path attribute.

>>>import sample_module 
>>>sample_module.__path__ 
['/absolute/path/to/sample/module'] 
Cuestiones relacionadas