python - 为什么'__name__'在REPL上打印文件名但在执行文件时打印'__main__'
问题描述
#some.py
print(__name__)
在 REPL 上,导入上述 python 代码输出文件名。
>>> import some
some
在运行它输出的相同脚本时__main__
,
E:\> python some.py
__main__
为什么结果不一样,两种方法有什么区别?
解决方案
这就是背后的主要意图__name__
。
当您__name__
直接在其中运行脚本时python samp.py
,__name__
返回__main__
.
当您导入具有 的脚本时__name__
,__name__
将是脚本的名称,例如some
.
推荐阅读
- r - 如何使用杂乱的数据列自动整理excel数据并导入R?
- react-native - 反应模块'YogaKit'的本机run-ios重新定义
- sql - 如果 column_date 未通过,如何在 postgres 中插入?
- c - 在扫描复数计算器的数字之前扫描运算符会出错,但在数字后扫描运算符时不会出错
- ruby-on-rails - 如果 Rails Runner 消失,为什么它不会重新连接到数据库?
- java - 如何使用 MVC 结构暂停
- microsoft-graph-api - 无法使用 Graph API 在 Microsoft Teams 中回复第三方导入的消息
- python - 限制 Wagtail Steamfield 中特定 DocumentChooserBlock() 块的文件类型
- c++ - SSH 会话不会通过 cpp reboot 命令终止,而是通过 CLI 命令重新启动
- deep-learning - COCO 上的 Darknet 预训练权重如何适应不同的输出大小(不同的类数)?