Mat*_*ams 31
正如其他答案所说,你可以使用__file__.但请注意,如果其他模块与程序位于同一目录中,则不会提供完整路径.所以为了安全起见,做这样的事情:
>>> import os
>>> import math
>>> os.path.abspath(math.__file__)
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/math.so'
Run Code Online (Sandbox Code Playgroud)
这是一个示例,我调用了一个模块checkIP来说明为什么需要获取abspath(checkIP.py在当前目录中):
>>> import os
>>> import checkIP
>>> os.path.abspath(checkIP.__file__)
'/Users/Matthew/Programs/checkIP.py'
>>> checkIP.__file__
'checkIP.py'
Run Code Online (Sandbox Code Playgroud)
如果它是PYTHONPATH目录树中的模块(并且可以通过__init__.py在其目录和父目录中放置a 来访问),则调用其path属性。
>>>import sample_module
>>>sample_module.__path__
['/absolute/path/to/sample/module']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15701 次 |
| 最近记录: |