如何通过另一个python文件运行python文件,然后关闭第一个python文件

如何通过另一个python文件运行python文件,然后关闭第一个python文件,python,file,Python,File,我知道这听起来很混乱,但基本上我想在用户按下键“p”时通过main.py文件运行另一个python文件(a.py),然后在a.py仍在运行时关闭main.py。我尝试了多种不同的方法来强制main.py停止运行,但它总是在a.py退出后关闭 以下是我的这部分代码(我正在使用pygame): 谢谢你的帮助 程序通常与主程序一起生存和消亡。使用main来管理游戏,而不是试图杀死main。让main.py初始化游戏状态,然后根据输入设置其他功能。这是更理智的,当你尝试它的时候会有意义。尝试按照本教程进

我知道这听起来很混乱,但基本上我想在用户按下键“p”时通过main.py文件运行另一个python文件(a.py),然后在a.py仍在运行时关闭main.py。我尝试了多种不同的方法来强制main.py停止运行,但它总是在a.py退出后关闭

以下是我的这部分代码(我正在使用pygame):


谢谢你的帮助

程序通常与主程序一起生存和消亡。使用main来管理游戏,而不是试图杀死main。让main.py初始化游戏状态,然后根据输入设置其他功能。这是更理智的,当你尝试它的时候会有意义。尝试按照本教程进行操作,它将教您最佳实践:

像声音一样发声。你想实现什么?如果玩家愿意,我基本上是想从一开始就重新启动整个游戏(a.py是main的副本)。因为我已经设置了一个计时器来计算每一秒播放的时间,如果我不重新启动整个程序,更正计时器将是非常麻烦的。我知道我没有道理,但我真的无法解释我想要达到的目标。我是编程新手(开始于1个月前),因此通过重新启动整个应用程序来设置游戏仍然是一个相对较新的概念,这是非常非常糟糕的编程。您应该销毁并重新创建一个(游戏)类,或者调用一些初始化例程。@agtoever有没有办法在不重新启动程序的情况下重新启动时间?
  import pygame
  import os

  gameOver = False

  while not gameOver:

       for event in pygame.event.get(): 

            if event.type == pygame.KEYDOWN:

                  if event.key == pygame.K_p:
                       os.system("a.py")
                       gameOver = True
   #the rest of the game