python--下划线的含义和用法

目录

  • 1 \_\_name__
  • 2 \_\_file__
    • 2.1 延伸用法-返回脚本绝对路径

1 __name__

一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,在if __name__ == 'main': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行(if里面的代码),而 import 到其他脚本中是不会被执行的。

if __name__ == '__main__':
    # 若 这个py文件被直接运行,才会执行 if 语句里面的代码
    print(“如果这个文件直接被运行,则会显示出这一行提示哦”)

2 __file__

__file__ 表示显示文件当前的路径(可能是绝对也可能是相对路径)

但是:

如果当前文件包含在sys.path里面,那么,__file__返回一个相对路径!
如果当前文件不包含在sys.path里面,那么,__file__返回一个绝对路径!
sys.path可以通过这样查看:
python--下划线的含义和用法_第1张图片

具体用法:

print(__name__)
print(__file__)

out:
python--下划线的含义和用法_第2张图片

再具体一点,当我运行这个脚本的时候,如果所运行的py文件 在 当前的sys.path(也就是红框部分的路径)里面,那么 __file__ 返回的就是相对路径
python--下划线的含义和用法_第3张图片
在这里插入图片描述
所以说明, __file__ 返回的基本就是运行命令 python 后面的文件路径 。

2.1 延伸用法-返回脚本绝对路径

os.path.realpath(__file__)

但是通常,我们会使用 os.path.dirname():去掉脚本的文件名,返回目录。

举例子:

import os
# 返回包括脚本名的路径
print(os.path.realpath(__file__))
# 返回脚本所在目录
print(os.path.dirname(os.path.realpath(__file__)))

out:
python--下划线的含义和用法_第4张图片

参考:
https://blog.csdn.net/bestallen/article/details/52079847

你可能感兴趣的:(python,python,开发语言)