重复导入模块 - Python / Pygame

时间:2014-05-04 17:29:52

标签: python import module pygame

我一直在使用Pygame开发一款简单的游戏,目前我正在为每个级别的事件添加结果(例如死亡)。目前我设置为在按下enter时导入相同的模块,如果发生死亡则水平“重新启动”。该代码在第一次“重启”时正常运行,但如果我再次播放,则不会再次导入相同的级别。

这是我到目前为止的代码:

    elif event.type == pygame.KEYDOWN and event.key == pygame.K_RETURN and health == 0:
        import PracticeLevel

我对python很新,所以如果出现任何错误我会道歉,感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

这是一个非常奇怪的方法,但你的问题是python是聪明的'关于导入(它不会导入两次相同的模块)。导入更多的是从模块中检索函数和类,并且不应该像你一样真正用于执行python文件。执行此类操作的一般方法是创建一个run_level(filename)函数,该函数将加载关卡数据并运行它,但是如果您不想更改当前格式,则应使用{{ 1}}而不是execfile("PracticeLevel.py")语句。

修改

如果您使用的是Python 3(其中import不是内置函数),您可以编写

execfile