Python导入模块时仅运行指定函数的实现问题
解决方案
核心思路
Python导入模块时会执行模块内所有顶层代码,你之前直接在ParkWoodGYM模块末尾调用LoginScreen(),属于顶层代码,所以导入时会自动运行。用if __name__ == "__main__"判断可以区分模块是被直接运行还是被导入,只在直接运行模块时执行LoginScreen()。
具体步骤
修改
ParkWoodGYM模块的代码
找到模块末尾的LoginScreen()调用,把它放到if __name__ == "__main__"代码块中:# ParkWoodGYM.py 末尾的代码修改后 if __name__ == "__main__": LoginScreen()这样只有直接运行
ParkWoodGYM.py时(比如命令行执行python ParkWoodGYM.py),才会启动登录界面;当其他程序导入该模块时,这段代码不会执行。在另一个程序中调用
MainMenu()
现在可以正常导入模块并只运行MainMenu():import ParkWoodGYM ParkWoodGYM.MainMenu()
内容的提问来源于stack exchange,提问作者setra
相关产品推荐
相关产品推荐

