zoukankan      html  css  js  c++  java
  • 得到python某个模块的路径

    python如何能得到一个模块的路径

    由于我还是小小菜鸟,所以有时很需要知道究竟python是从哪里把一个模块导入进来的:


    import imp
    print imp.find_module("MySQLdb")

    这个就能打印出这个模块的路径

    >>> print imp.find_module('MySQLdb')
    (None, 'C:\\Python27\\lib\\site-packages\\MySQLdb', ('', '', 5))

    方法二:

    1 import a_module
    2 print a_module.__file__

    上述代码将范围 .pyc 文件被加载的路径,如果需要跨平台解决方案,可用下面代码:

    1 import os
    2

    path =os.path.dirname(amodule.__file__)

    用__file__ 来获得脚本所在的路径是比较方便的,但这可能得到的是一个相对路径,比如在脚本test.py中写入:

    #!/usr/bin/env python
    print __file__

    • 按相对路径./test.py来执行,则打印得到的是相对路径,
    • 按绝对路径执行则得到的是绝对路径。

    而按用户目录来执行(~/practice/test.py),则得到的也是绝对路径(~被展开)

    所以为了得到绝对路径,我们需要 os.path.realpath(__file__)。

  • 相关阅读:
    TypesScript+Webpack
    TypeScript 类型
    git操作
    kafka
    java: cannot find symbol symbol: variable log
    Angular结构型指令,模块和样式
    Angular 自定义拖拽指令
    Angular changeDetction
    Angular 依赖注入
    RXJS Observable的冷,热和Subject
  • 原文地址:https://www.cnblogs.com/chenjianhong/p/4144972.html
Copyright © 2011-2022 走看看