Python:导入前获取库路径

时间:2015-12-04 10:21:20

标签: python python-2.7 path operating-system filesystems

我想在导入库本身之前获取库的路径。

也就是说,不同于:

import module, os
library_path = os.path.dirname(module.__file__)

这可能吗? 谢谢。

2 个答案:

答案 0 :(得分:1)

我认为您需要的是imp模块:

import imp
file_handle, module_path, module_doc = imp.find_module(module_name)

第二个返回值是实际文件的路径(假设有一个,因为请求的模块可能是内置的)。第一个参数是已经为您打开的文件句柄。

只要您的用例很简单,就不应该有任何问题。如果您将尝试使用通用解决方案,则需要仔细阅读imp模块文档,因为此函数有很多可能的情况和返回值。

https://docs.python.org/2/library/imp.html

答案 1 :(得分:0)

import commands
print commands.__file__

/usr/lib/python2.7/commands.py

import os
print os.__file__
/usr/lib/python2.7/os.pyc

是的,你可以,但所有模块都不支持__ file __