我正在学习python的速成课程,我为游戏编写了外星人入侵的代码,但它不起作用,当我写“导入sys”时,sys这个词是下划线,程序打开屏幕大约一毫秒,然后关闭它自己,我在这个站点和YouTube中寻找一个答案,但是我一直找不到解决方案,有人能帮我吗?提前谢谢。
我在Linux上使用vs代码。
到目前为止,我就是这样写的:
from settings import Settings
from ship import Ship
import sys
class AlienInvasion:
"""overall class to manage game assets and behavior"""
def __init__(self):
""" initialize the game and creates game resources"""
pygame.init()
self.settings = Settings()
self.screen = pygame.display.set_mode(
(self.settings.screen_width, self.settings.screen_height))
pygame.display.set_caption("Alien Invasion")
self.ship = Ship(self)
def run_game(self):
"""start the main loop for the game."""
while True:
self._check_events()
#whatch for keyboard and mouse events .
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
#redraw the screen during each pass through the loop.
self.screen.fill(self.settings.bg_color)
self.ship.blitme()
#make the most recently drawn screen visible.
pygame.display.flip()
if __name__ == '__main__':
#make a game instance, and run the game.
ai = AlienInvasion()
ai.run_game()发布于 2022-04-28 19:22:27
看起来可能在脚本中的某个地方抛出了一个错误,导致程序停止运行,因此,一旦终端打开,就关闭它。根据我的经验,只有当您通过双击文件浏览器UI执行脚本时,才会发生这种情况。
要解决这一问题,请尝试从将保持打开状态的地方运行该程序,即使程序已终止,例如,vscode中的内置终端(您可以通过view > terminal显示)。要运行程序,只需运行以下命令:
python path/to/my/script.py如果它导致一个错误,那么您将能够看到它很好地打印,而没有终端关闭。
另一方面,导入sys与此问题无关。pylance突出显示它的原因是您已经导入了它,但是您没有在任何地方使用它(例如,调用像sys.exit()这样的函数),因此它认为行是不必要的。一旦您在脚本中的其他地方使用sys模块,它就会消失。
发布于 2022-04-29 03:10:39
根据您的错误内容,我认为这是由于找不到文件,同时您的代码中没有使用sys。
以下是导致"FileNotFoundError“的一些原因,您可以一个一个地确认:
1.文件名和文件类型
代码中插入了错误的文件名。请仔细检查文件名。
2. Python 转义
在文件字符串中,将涉及与C:\user\desktop类似的地址字符串信息,这与Python中的转义函数(如表示行提要的\n )冲突。使用r"C:\User\Desktop"或C:\\User\\Desktop来避免Python转义字符串。
3.相对路径问题
一般不建议使用。在Python运行过程中,相对路径是进程运行时指向的文件夹,该文件夹用作根节点的文件树,也就是说,如果使用相对路径打开文件,则只能访问其根节点下的文件。您可以使用OS库中提供的方法os.path.abspath()和os.path.abspath('..')来查看和更改运行Python的绝对路径。
4. Python运行时位置
如果是这样的问题,您可以将以下代码添加到文件的头部:
import sys
sys.path.append("../your/target/path/")发布于 2022-08-24 04:33:01
试试pip install os-sys和pip install syspath 在这里输入链接描述
https://stackoverflow.com/questions/72048615
复制相似问题