码迷,mamicode.com
首页 > 其他好文 > 详细

模块中的特殊变量

时间:2016-10-31 12:47:22      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:env   bsp   目录   sys.path   导入   package   代码实现   os.path   注意   

模块中特殊的变量

当我们导入模块的时候,模块已经为我们创建一些内置变量,当我们导入模块后直接调用。
例如:
print(vars(modulename)   打印出模块内置的变量

这里有几个特殊的变量。

1  __doc__    获取模块注释

    a.py
    #!/usr/bin/env  python
    # -*- coding:utf-8 -*-
    """
    注释           注意:三引号代表的是注释,注释一般都会写代码实现的功能。
    """
    def func():
        print(函数)

    调用模块a.py后,获取注释,相当于查看这个模块的功能。
    import a.py
    print(__doc__)
    输出:
    注释

2 __cached__ :模块缓存,指定pyc字节码路径

3 __file__:当前模块的路径
 
  os.path.abspath(__file__):当前模块的绝对路径
  os.path.dirname(os.path.abspath(__file__)):当前模块的上一级目录
  例如:
    import py2
    print(py2.__doc__)   #获取py2的注释
    print(__file__)     #获取py2的路径,当前路径

    import os
    import sys
    os.path.abspath(__file__)
    print(os.path.abspath(__file__))    #取当前模块的绝对路径
    #os.path.dirname() #上一级目录
    #把当前模块,以及上一级目录,上上一级目录添加到系统路径中。这样当我们执行这个模块的时候,始终能找到。
    sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

4 __package__:可以获取导入模块所属的包
    例如:
    from pk1 import py2
    print(py2.__package__)    #打印py2所属的目录pk1

5    __name__ == "__main__":当我们手动执行函数的时候,才会满足这个条件。

    def run():
        print(123)
    if __name__ == "__main__":   #当我们执行这个脚本的时候才满足这个条件,即__name__ == “__main__”
        run()                  #所以只有当我们执行这个文件的时候,才会执行run().
                              # 如果我们在别的模块中导入此模块的话则不会执行run(),一般在主函数中写入,防止被导入。

模块中的特殊变量

标签:env   bsp   目录   sys.path   导入   package   代码实现   os.path   注意   

原文地址:http://www.cnblogs.com/RomanticYori/p/6015329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!