如果 __name__ != __main__:

Liu*_*Liu 6 python flask

刚开始学习Flask,对代码有点困惑

app = Flask(__name__)
print(__name__)
if __name__ == '__main__':
  print(__name__)   # I add two more lines here
  print("ok")
  app.run()
Run Code Online (Sandbox Code Playgroud)

文件名是app.py。当我在终端中使用命令时python app.py,结果是

__main__
__main__
ok
...flask running information...
Run Code Online (Sandbox Code Playgroud)

但是当我在 PyCharm 中运行代码时,我得到的是:

...flask running information...
app
Run Code Online (Sandbox Code Playgroud)

如果我像这样修改代码:

app = Flask(__name__)
print(__name__)
if __name__ != '__main__':
  print(__name__)   # I add two more lines here
  print("ok")
  app.run()
Run Code Online (Sandbox Code Playgroud)

结果是:

...flask running information...
app
app
ok
Run Code Online (Sandbox Code Playgroud)

我在终端中执行此操作,烧瓶无法启动,结果是:

__main__
Run Code Online (Sandbox Code Playgroud)

那么为什么 _ name _在终端中等于 '_ main _' 而 _ name _ 在 PyCharm 中不等于 '_ main _' 并且 Flask 在 PyCharm 中的两种情况下都运行但在命令行中不一样?

PyCharm 运行配置屏幕截图