python自带的全局变量
python默认会自带某些全局变量,它们有特殊的含义:
__file__:文件的全路径(目录+文件名)
-
__package__:包路径
- 一般用于查看引入文件所在的包路径
- 文件名.__package__:lib.a.b
- 查看导入的项目来自哪个包
- 当前文件的__package__为None,其他的问所在的包
-
__doc__:文件注释
- 在py文件顶部用三个双引号括起来的字符串为文件注释
- 通过模块名.__doc__可到文件注释
-
__name__:(最重要)
- 如果此py文件是主程序,则它的__name__为__main__,否则则为报名+模块名
- 当前执行哪个文件,则它的__name__为__main__
- 一般主程序都会加上以下代码作判断
if __name__ == '__main__': print('执行主程序')
- 这样可以防治别人把改文件作为模块引入后编译时自动运行
__file__:当前文件的路径,结合os模块来添加sys.path的路径
import os
import sys
path = __file__
baseName = os.path.basename(path)
print('baseName:', baseName) # 文件名
dir = os.path.dirname(path) # 获取它的目录名
#os.makedirs('libs')
add_path = os.path.join(dir,'libs')
print(add_path) # /Users/yuhaohong/PycharmProjects/studyDemo/day0503/libs
sys.path.append(add_path)