2012-09-02 11 views

Odpowiedz

24

Zgodnie z innymi odpowiedziami można użyć numeru __file__. Należy jednak pamiętać, że nie da to pełnej ścieżki, jeśli drugi moduł znajduje się w tym samym katalogu, co program. Więc pewności, czy coś takiego:

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

Oto przykład z modułem zrobiłem zwanego checkIP zilustrować, dlaczego trzeba uzyskać abspath (checkIP.py znajduje się w bieżącym katalogu):

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

Można spróbować:

import os 
print os.__file__ 

aby zobaczyć gdzie znajduje się moduł.

1

Jeśli jest to moduł w drzewie katalogów PYTHONPATH (i można go uzyskać, umieszczając w swoim katalogu i katalogach nadrzędnych __init__.py), wywołaj jego atrybut ścieżka.

>>>import sample_module 
>>>sample_module.__path__ 
['/absolute/path/to/sample/module'] 
Powiązane problemy