PyCharm中程序重复打印、重复执行问题求助
PyCharm运行代码重复输出的排查与解决方法
问题现象
PyCharm初期运行正常,近期出现代码重复执行问题:
- 运行无
main包裹的测试代码:
n = 4 if n == 1: print(n, "is 1") elif n == 2: print(n, "is 2") else: print(n, "is not 1 or 2")
输出重复两行:
4 is not 1 or 2 4 is not 1 or 2
- 带
while循环的代码会重复进入循环,执行break后仍重新运行 - 已尝试清除缓存、新建文件,问题依旧;但用
main函数并添加if __name__ == "__main__": main()后,程序仅运行一次
解决方法
检查运行配置
打开右上角运行按钮旁的下拉菜单→Edit Configurations,确认:Script path指向当前编辑的目标文件,而非其他重复执行的脚本- 取消
Execution选项下的Run with Python console勾选(控制台模式可能导致代码被执行两次:脚本本身执行一次,控制台加载时再执行一次)
切换运行方式
运行代码时点击普通的绿色三角"Run"按钮,而非带控制台图标的"Run in Python Console"按钮排查导入问题
确认当前脚本没有被项目内其他脚本重复导入——顶层代码在脚本被作为模块导入时会执行,若被多次导入就会重复运行。if __name__ == "__main__":的作用就是避免这种情况,只有脚本直接运行时才执行内部代码重置运行配置
若以上方法无效,删除当前的Run Configuration,点击Edit Configurations左上角"+"→选择Python→重新指定正确的Script path,使用默认配置运行
内容的提问来源于stack exchange,提问作者A field
相关产品推荐
相关产品推荐

