我有一个使用Pygame和sys的模块:
import pygame, sys
font = pygame.font.SysFont('sans-serif', 72)
class console:
def text(self, surface, text, pos):
text = font.render(text, 1, (255, 255, 255))
surface.blit(text, (pos[0], pos[1]))
此模块不会返回任何类型的错误。我还有一个简短的主程序,用于导入和使用该模块:
import pygame
pygame.init()
import pygame-console.py
screen = pygame.display.set_mode([640, 480])
console = pygame-console.console()
console.text(screen, 'Hello World!', (0, 0))
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
主程序在第三行返回一个SyntaxError,如下所示:
File "C:\Python25\pgTESTimport.py" line 3
import pygame-console.py
^
SyntaxError: invalid syntax
Script terminated.
由于IDLE在sys.exit()方面的困难,我使用的是Stani的Python编辑器。谁能告诉我这段代码有什么问题?为什么它会在看起来很正常的代码上返回SyntaxError?
答案 0 :(得分:1)
这不是您导入模块的方式,您最后不需要提供.py
,也不能直接导入名称中带有-
的模块。
您需要将文件重命名为其中没有-
的内容,例如pygameconsole.py
,然后使用 -
import pygameconsole
或者,如果您不想重命名该文件,并希望在名称中保留-
,则可以使用importlib
导入该文件 -
import importlib
pygameconsole = importlib.import_module('pygame-console')
然后您可以使用pygameconsole
。