python - Python 看不到模块中的文件
问题描述
但是当我将这些模块导入 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)
谁能告诉我我做错了什么?
解决方案
您正在使用循环导入。关于它的含义有很多解释,但是您正在跨多个模块导入相同的模块。一种解决方案是在函数范围内导入模块,而不是在文件中全局导入,即:
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)