不止一次导入相同的python模块

时间:2014-01-20 18:41:46

标签: python import module pygame

我试图找到一种导致同一模块的方法,因为按下了某个按键....

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_1:
        import forest_level
    if event.key == pygame.K_2:
        import sea_level
    if event.key == pygame.K_3:
        import desert_level
    if event.key == pygame.K_4:
        import underwater_level
    if event.key == pygame.K_5:
        import space_level

如果我处于森林水平并进入海平面,我将如何回到森林水平?

GAME CODE

1 个答案:

答案 0 :(得分:2)

你不能。

我将不得不猜测代码的结构,因为你还没有提供Short, Self Contained, Correct (Compilable), Example

您可能有几个模块如下:

# foo_level.py
print "foo"

以及主要模块:

# main.py
while True:
    key = raw_input()
    if key == "foo":
        import foo_level
    # and so on.

import语句用于将代码放入范围,而不是用于实际执行任何代码。

将您想要在函数中运行多次的所有代码放在一起:

# foo_level.py
def do_stuff():
    print "foo"

而是在开始时导入所有模块一次并在循环内调用新函数:

# main.py
import foo_level
while True:
    key = raw_input()
    if key == "foo":
        foo_level.do_stuff()
    # and so on.