• 【python之路27】vars()包含的全局变量对象


    213

    一、.py文件里面包含全局变量

    print(vars())输出结果如下:

    {'__name__': '__main__',

    '__doc__': None,

    '__package__': None,

    '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000014BE5CBA470>,

    '__spec__': None,

    '__annotations__': {},

    '__builtins__': <module 'builtins' (built-in)>,

    '__file__': 'E:/python_code/2/13day/index.py',

    '__cached__': None}

    其中比较常用的是:

    __doc__    打印文件注释,.py文件中开头的三个引号中的内容

    __file__     打印当前py文件的全路径名称

    __package__   导入文件所在的包,即导入py文件所在的文件夹名,文件夹层级用.间隔,例如 lib.test

    __cached__   python3中才有,缓存文件,导入文件执行的.pyc文件全路径

    __name__   如果是当前py文件运行则返回__main__,如果其他文件导入运行,则返回当前导入文件所在的文件夹路径

    __builtins__  内置函数是存放在__builtins__中

    所以为防止导入模块后直接运行,可以用 __name__ == __main__ 进行判断:

     二、利用__file__给sys.path中添加相对路径

    1、相对路径可以把整体文件拷贝到任何目录运行

    2、当文件名修改不影响添加的相对路径

    #!usr/bin/env python
    # -*- coding:utf-8 -*-
    import sys,os
    p1 = os.path.dirname(__file__) #__file__获取当前运行文件的路径,dirname是去掉.py文件后的路径
    py_path = os.path.join(p1,'lib') #将去掉.py文件后的路径连接上lib,E:/python_code/2/day14lib
    sys.path.append(py_path) #将组合后的文件路径加入到sys.path列表中
    from lib import fuc1
    print(fuc1.f1())
  • 相关阅读:
    「牛客网」45道JS能力测评经典题总结
    面渣逆袭:Java并发六十问,快来看看你会多少道!
    「前端料包」深入理解JavaScript原型和原型链
    6 hadoop1.0配置文件详解 Sky
    stackstorm 变量 Sky
    5 hadoop3.0配置文件详解 Sky
    3 hadoop3.0高可用安装 Sky
    stackstorm actionActionRunner Sky
    stackstorm rule Sky
    stackstorm workflows Sky
  • 原文地址:https://www.cnblogs.com/sunshuhai/p/6442173.html
Copyright © 2020-2023  润新知