但是当我将这些模块导入main.py时,它抱怨它看不到其中的文件
import pygame
import winsound
import random
import math
#import wGeneration
import rGeneration
from Camera import camera
from KeyHandle import 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)
有人可以告诉我我在做什么错吗?
答案 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)