【问题标题】:Python: Get library path before importingPython:导入前获取库路径
【发布时间】:2016-03-09 06:00:37
【问题描述】:

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

也就是说,不同于:

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

这可能吗? 谢谢。

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      【解决方案2】:
      import commands
      print commands.__file__
      
      /usr/lib/python2.7/commands.py
      
      import os
      print os.__file__
      /usr/lib/python2.7/os.pyc
      

      可以,但并非所有模块都支持 __ file__

      【讨论】:

        猜你喜欢
        • 2011-08-10
        • 1970-01-01
        • 2021-11-02
        • 2013-04-16
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        • 2020-03-02
        相关资源
        最近更新 更多