导入模块提供 SyntaxError

Importing module provides SyntaxError

我有一个使用 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]))

此模块return没有任何类型的错误。我还有一个简短的主程序,旨在导入和使用模块:

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()

主程序return在第三行出现语法错误,如下所示:

File "C:\Python25\pgTESTimport.py" line 3
import pygame-console.py
^
SyntaxError: invalid syntax
Script terminated.

我正在使用 Stani 的 Python 编辑器,因为 IDLE 在 sys.exit() 方面有困难。谁能告诉我这段代码有什么问题?为什么在看起来正常的代码上出现 return SyntaxError?

这不是你导入模块的方式,你不需要在最后给出.py,也不能直接导入名称中带有-的模块。

您需要将文件重命名为不包含 - 的名称,例如 pygameconsole.py,然后使用 -

导入它
import pygameconsole

或者,如果您不想重命名文件,并希望保留名称中的-,您可以使用importlib导入它-

import importlib
pygameconsole = importlib.import_module('pygame-console')

然后你可以使用它 pygameconsole .