gpt4 book ai didi

python - 如果 __name__ == '__main__' 在 IPython

转载 作者:IT老高 更新时间:2023-10-28 20:45:39 25 4
gpt4 key购买 nike

我的 Python 脚本使用 if __name__ == '__main__' 技巧让某些代码仅在脚本作为脚本调用时运行,而不是在将其加载到交互式解释器中时运行。但是,当我使用 %edit 命令从 IPython 编辑这些脚本时,IPython 显然将 __name__ 设置为 '__main__' ,因此代码会运行每次我退出编辑 session 。当从 IPython 编辑模块时,有没有一种好方法可以让这段代码不运行?

最佳答案

在 Emacs 中工作时(我认为这与使用 %edit 得到的结果很接近),我通常使用这个技巧:

if __name__ == '__main__' and '__file__' in globals():
# do what you need

出于显而易见的原因,__file__ 只为 import 的模块定义,而不是为交互式 shell 定义。

关于python - 如果 __name__ == '__main__' 在 IPython,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22923002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com