vars()查看内置全局变量 以字典方式返回内置全局变量

#!/usr/bin/env python

# -*- coding:utf8 -*-

print(vars())

#输出

# {'__builtins__': <module 'builtins' (built-in)>, '__spec__': None, '__package__': None, '__doc__': None, '__name__': '__main__', '__cached__': None, '__file__': 'H:/py/index.py', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000000AC32C66A58>}

__doc__ :获取文件的注释

#!/usr/bin/env python

# -*- coding:utf8 -*-

"""

这里是文件的注释

"""

print(__doc__)  #__doc__    :获取文件的注释

#输出

# 这里是文件的注释

__file__ 【重点】获取当前文件的路径

#!/usr/bin/env python

# -*- coding:utf8 -*-

print(__file__)  #__file__ :获取当前文件的路径

#输出

# H:/py/index.py

__file__一般配合os模块的os.path.dirname()os.path.basename() os.path.join() 模块函数来使用

#!/usr/bin/env python

# -*- coding:utf8 -*-

import os

a = __file__    # __file__全局变量获取当前文件路径

print(a)

b = os.path.dirname(a) #获取文件当前目录:注意:os.path.dirname()叠加一次向上找一次 如下

print(b)

b2 = os.path.dirname(b) #获取文件当前目录的上级目录,注意:os.path.dirname()叠加一次向上找一次

print(b2)

c = os.path.basename(a) #获取文件名称

print(c)

#输出

# H:/py/lib/ska/mk.py

# H:/py/lib/ska

# H:/py/lib

# mk.py

 __file__获取模块路径,添加到解释器模块路径里

#!/usr/bin/env python

# -*- coding:utf8 -*-

import sys

import os

a = __file__    # __file__全局变量获取当前文件路径

print(a)

b = os.path.dirname(a) #获取文件当前目录

print(b)

c = "lib" #自定义文件目录名称

d = os.path.join(b,c) #将获取文件当前目录,与自定义文件目录名称,拼接成完整的路径

print(d)

print("\n")

sys.path.append(d) #将拼接好的路径,添加到解释器模块路径中

for i in sys.path:  #

print(i)

#输出

# H:/py/index.py

# H:/py

# H:/py\lib

#

#

# H:\py

# C:\Users\admin\AppData\Local\Programs\Python\Python35\lib\site-packages\pip-8.1.2-py3.5.egg

# H:\py

# C:\Users\admin\AppData\Local\Programs\Python\Python35\python35.zip

# C:\Users\admin\AppData\Local\Programs\Python\Python35\DLLs

# C:\Users\admin\AppData\Local\Programs\Python\Python35\lib

# C:\Users\admin\AppData\Local\Programs\Python\Python35

# C:\Users\admin\AppData\Local\Programs\Python\Python35\lib\site-packages

# H:/py\lib

__package__ :获取导入文件的路径,多层目录以点分割,注意:对当前文件返回None

#!/usr/bin/env python

# -*- coding:utf8 -*-

print(__package__)  #注意:对当前文件返回None

from lib.ska import mk  #导入mk模块文件

print(mk.__package__) #__package__ :获取导入文件的路径,多层目录以点分割,注意:对当前文件返回None

#输出

# None

# lib.ska

# lib.ska

__cached__ :获取导入文件的缓存路径

#!/usr/bin/env python

# -*- coding:utf8 -*-

from lib.ska import mk  #导入mk模块文件

print(mk.__cached__) #__cached__ :获取导入文件的缓存路径

#输出

# H:\py\lib\ska\__pycache__\mk.cpython-35.pyc

__name__   获取导入文件的路径加文件名称,路径以点分割,注意:获取当前文件返回__main__ 

#!/usr/bin/env python

# -*- coding:utf8 -*-

print(__name__) #注意:获取当前文件返回__main__

from lib.ska import mk  #导入mk模块文件

print(mk.__name__)  #获取导入文件的路径加文件名称,路径以点分割

#输出

# __main__

# lib.ska.mk

#!/usr/bin/env python

# -*- coding:utf8 -*-

if __name__ == "__main__":

#__name__  全局变量写在入口文件里,只有执行入口文件时的返回值才是__main__  ,如果入口文件被导入到别的文件里,此时入口文件的__name__返回值就不在是__main__,而是如果文件的路径加入口文件名称,所以我们可以用__name__全局变量来防止别人盗链入口文件

print("执行")

#这样只有执行index文件时才执行判断里的,index被导入到到别的文件,就不会执行判断里的

__builtins__  内置函数在这里面

python内置全局变量的更多相关文章

  1. 第三十九节,python内置全局变量

    vars()查看内置全局变量 以字典方式返回内置全局变量 #!/usr/bin/env python # -*- coding:utf8 -*- print(vars()) #输出 # {'__bui ...

  2. python 内置函数和函数装饰器

    python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...

  3. Python内置函数解析

    我们知道,为了方便使用,python内置了一系列常用及关键的函数,如type().下面将对这些函数进行逐一分析.解释. Python内置函数表: 1. abs():返回绝对值.如abs(-1)= 1. ...

  4. python内置函数的归集

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明. Python内置(built-in)函数随着python解释器的运行而创建.在Pytho ...

  5. Python补充03 Python内置函数清单

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明. Python内置(built-in)函数随着python解释器的运行而创建.在Pytho ...

  6. Python 内置函数笔记

    其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...

  7. 【转】python 内置函数总结(大部分)

    [转]python 内置函数总结(大部分) python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为 ...

  8. 【转】Python 内置函数 locals() 和globals()

    Python 内置函数 locals() 和globals() 转自: https://blog.csdn.net/sxingming/article/details/52061630 1>这两 ...

  9. python内置函数,匿名函数

    一.匿名函数 匿名函数:为了解决那些功能很简单的需求而设计的一句话函数 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n ...

随机推荐

  1. layui 前端UI框架

    1.获取点击行的索引

  2. GridSearchCV 与 RandomizedSearchCV 调参

    GridSearchCV    GridSearchCV的名字其实可以拆分为两部分,GridSearch和CV,即网格搜索和交叉验证. 这两个概念都比较好理解,网格搜索,搜索的是参数,即在指定的参数范 ...

  3. MySQL索引的用处

    MySQL索引在MySQL数据库中,可以有效提高查询的效率,尤其是查询数据量非常大时,效果更为明显,往往能使查询速度加快成千上万倍. MySQL索引是很重要的概念,应用的范围非常广.那么,MySQL索 ...

  4. 梦想CAD控件,用于浏览和编辑DWG文件,在脱离AUTOCAD的情况下独立运行,相当于简易CAD

    (百度百科连接) 梦想绘图控件5.2  是国内最强,最专业的CAD开发组件(控件),不需要AutoCAD就能独立运行.控件使用VC 2010开发,最早从2007年第一个版本完成,经过多年的累积已经非常 ...

  5. 使用github作为maven仓库

    本文介绍的这种使用 github 作为 maven 仓库的思路主要为: github的项目上创建mvn-repo分支,使用mvn-repo分支作为maven仓库 配 置 pom.xml 使用 targ ...

  6. JS中的同步异步问题

    <script> /* * JS 是单线程 * 同步 异步 * 常见的异步 * 1.定时器 * 2.事件绑定 * 3.ajax请求(一般的都是异步) * 4.回调函数也可以理解成 异步 * ...

  7. Linux下启动tomcat报java.lang.OutOfMemoryError: PermGen space

    一.错误信息 java.lang.reflect.InvocationTargetException    at sun.reflect.NativeMethodAccessorImpl.invoke ...

  8. 1. 垃圾收集简介 - GC参考手册

    说明: 在本文中, Garbage Collection 翻译为 “垃圾收集”, garbage collector 翻译为 “垃圾收集器”; 一般认为, 垃圾回收 和 垃圾收集 是同义词. Mino ...

  9. Linux 搭建 squid 代理服务器 三种模式

    CentOS 6.7 squid 代理服务器 一般有两张或以上网卡,一张链接公网,访问外网资源,一张位于局域网. 代理服务器可以提供文件缓存.复制和地址过滤等服务,充分利用有限的出口带宽,加快内部主机 ...

  10. C++动态申请内存 new T()与new T[]的区别

    new与delete 我们知道,new和delete运算符是用于动态分配和撤销内存的运算符. new的用法 开辟单变量地址空间: i. 如 new int ; 指开辟一个存放数组的存储空间,返回一个指 ...