Python: 导入前获取库路径
Python: Get library path before importing
我想在导入库本身之前获取库的路径。
也就是说,不同于:
import module, os
library_path = os.path.dirname(module.__file__)
这可能吗?
谢谢。
import commands
print commands.__file__
/usr/lib/python2.7/commands.py
import os
print os.__file__
/usr/lib/python2.7/os.pyc
可以,但并非所有模块都支持 __ file__
我想你需要的是imp
模块:
import imp
file_handle, module_path, module_doc = imp.find_module(module_name)
第二个 return 值是实际文件的路径(假设有一个,因为请求的模块可能是内置的)。第一个参数是一个文件句柄,已经为你打开了。
只要您的用例很简单,就不会有任何问题。如果您要尝试通用解决方案,则需要仔细阅读 imp
模块文档,因为有很多可能的情况和此函数的 return 值。
我想在导入库本身之前获取库的路径。
也就是说,不同于:
import module, os
library_path = os.path.dirname(module.__file__)
这可能吗? 谢谢。
import commands
print commands.__file__
/usr/lib/python2.7/commands.py
import os
print os.__file__
/usr/lib/python2.7/os.pyc
可以,但并非所有模块都支持 __ file__
我想你需要的是imp
模块:
import imp
file_handle, module_path, module_doc = imp.find_module(module_name)
第二个 return 值是实际文件的路径(假设有一个,因为请求的模块可能是内置的)。第一个参数是一个文件句柄,已经为你打开了。
只要您的用例很简单,就不会有任何问题。如果您要尝试通用解决方案,则需要仔细阅读 imp
模块文档,因为有很多可能的情况和此函数的 return 值。