Python在模块中看不到文件

时间:2018-10-04 00:01:50

标签: python module

因此我将代码拆分为项目目录中的不同文件 files in directory

但是当我将这些模块导入main.py时,它抱怨它看不到其中的文件

import pygame
import winsound
import random
import math
#import wGeneration
import rGeneration
from Camera import camera
from KeyHandle import KeyHandle

在导入Keyhandle时会出现此错误

keyhandle

这就是KeyHandle模块中的内容

import main
import pygame

def KeyHandle():
    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                pygame.quit()
                quit()
            if event.key == pygame.K_UP:
                main.dire.append(3)
            if event.key == pygame.K_DOWN:
                main.dire.append(2)

        if event.type == pygame.KEYUP:
            if event.key == pygame.KEYUP:
                main.dire.remove(3)
            if event.key == pygame.K_DOWN:
                main.dire.remove(2)

有人可以告诉我我在做什么错吗?

1 个答案:

答案 0 :(得分:1)

您正在使用循环导入。 There are tons of explanations是什么,但是您要跨多个模块导入同一模块。一种解决方案是在功能范围内导入模块,而不是在文件中全局导入,即:

def KeyHandle():
    import main # Import here instead
    import pygame
    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                pygame.quit()
                quit()
            if event.key == pygame.K_UP:
                main.dire.append(3)
            if event.key == pygame.K_DOWN:
                main.dire.append(2)

        if event.type == pygame.KEYUP:
            if event.key == pygame.KEYUP:
                main.dire.remove(3)
            if event.key == pygame.K_DOWN:
                main.dire.remove(2)