首页 > 解决方案 > 为什么'__name__'在REPL上打印文件名但在执行文件时打印'__main__'

问题描述

#some.py

print(__name__)

在 REPL 上,导入上述 python 代码输出文件名。

>>> import some
some

在运行它输出的相同脚本时__main__

 E:\> python some.py
__main__

为什么结果不一样,两种方法有什么区别?

标签: pythonpython-3.ximport

解决方案


这就是背后的主要意图__name__

当您__name__直接在其中运行脚本时python samp.py__name__返回__main__.

当您导入具有 的脚本时__name____name__将是脚本的名称,例如some.


推荐阅读