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. CREATE USER - 创建一个新的数据库用户帐户

    SYNOPSIS CREATE USER name [ [ WITH ] option [ ... ] ] where option can be: SYSID uid | [ ENCRYPTED | ...

  2. badblocks - 查询设备的坏区块

    语法(SYNPSIS) badblocks [ -svwnf ] [ -b block-size ] [ -c blocks_at_once ] [ -i input_file ] [ -o outp ...

  3. CE工具里自带的学习工具--第四关

    图解:

  4. IIS更改根目录

    服务器中打开IIS管理器,选择网站,再选展开后的站点,点击右边高级设置,最后更改弹框中的物理地址即可:

  5. python selenium等待特定网页元素加载完毕

    selenium等待特定元素加载完毕 is_disappeared = WebDriverWait(driver, 8, 0.5, ignored_exceptions=TimeoutExceptio ...

  6. ORACLE中DBMS_SQL的用法

    ORACLE中DBMS_SQL的用法   对于一般的select操作,如果使用动态的sql语句则需要进行以下几个步骤: open   cursor---> parse---> define ...

  7. 51nod 1175 区间第k大 整体二分

    题意: 一个长度为N的整数序列,编号0 - N - 1.进行Q次查询,查询编号i至j的所有数中,第K大的数是多少. 分析: 仅仅就是一道整体二分的入门题而已,没听说过整体二分? 其实就是一个分治的函数 ...

  8. 启发式合并CSU - 1811

    F - Tree Intersection CSU - 1811 Bobo has a tree with n vertices numbered by 1,2,…,n and (n-1) edges ...

  9. 笔试算法题(24):找出出现次数超过一半的元素 & 二叉树最近公共父节点

    出题:数组中有一个数字出现的次数超过了数组长度的一半,请找出这个数字: 分析: 解法1:首先对数组进行排序,时间复杂度为O(NlogN),由于有一个数字出现次数超过了数组的一半,所以如果二分数组的话, ...

  10. 4.model 字段

    一.字段名 字段名 类型 参数 AutoField(Field) - int自增列, 必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自 ...