Пытаюсь остановить pygame, но не могу из-за прерывания

#python #pygame #moviepy

#питон #киношный #блок питания

Вопрос:

Поэтому я хочу, чтобы, когда вы нажимаете кнопку x вверху, весь процесс останавливается, но я продолжаю получать ошибку «прерывание», и я перепробовал несколько способов остановить видео, pygame или аудио, и ни один из них не работает. Он просто продолжает печатать в прерывании консоли.

 import random import psutil import sys  from pygame.locals import * from moviepy.editor import * from pypresence import Presence import time  pygame.init() pygame.mixer.init() pygame.display.set_caption('lofi hip hop radio - beats to relax/study to - v1.0')    def launch(movie):  clip = VideoFileClip(movie)  clip.preview()  def checkIfProcessRunning(processName):  '''  Check if there is any running process that contains the given name processName.  '''  #Iterate over the all the running process  for proc in psutil.process_iter():  try:  # Check if process name contains the given name string.  if processName.lower() in proc.name().lower():  return True  except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):  pass  return False;  def repeat():  running = True   clip = VideoFileClip("lofivid1.mp4")  time.sleep(5)  randomNumber = random.randint(1, 2)  print(str(randomNumber))  pygame.mixer.music.load("song"   str(randomNumber)   ".wav")  pygame.mixer.music.play()   while pygame.mixer.music.get_busy() and running:  for event in pygame.event.get():  if event.type == pygame.QUIT:  running = False    if(running):  clip.preview()  else:  pygame.quit()  exit(0)    while 1:  if checkIfProcessRunning('discord'):  client_id = 'ID CLIENT' #Put your client ID here  RPC = Presence(client_id)   RPC.connect()   print(RPC.update(state="Listening", details="Doing homework", large_image="https://static.actu.fr/uploads/2020/04/maxresdefault-960x640.jpg", small_image="https://static.actu.fr/uploads/2020/04/maxresdefault-960x640.jpg", large_text="LofiCli", start=time.time()))  else:  pass   repeat()  

Каждый раз, когда вы нажимаете кнопку x, вы печатаете это в консоли

 Interrupt  

И это ничего не закрывает и не меняет

Комментарии:

1. Какова полная ошибка, которую вы получаете, включая трассировку стека? Пожалуйста, отредактируйте его в своем вопросе.

2. Вы импортировали систему, но не использовали ее. Сделайте sys.exit (), а не exit()