退出主 .py 文件时无法打开另一个 .py 文件

Unable to open another .py file on exiting the primary .py file

我创建了 2 个 .py 文件。我希望主文件关闭后,第二个文件使用 tkinter 打开。这是 的延续 .

我写的退出按钮功能是:-

from Backup_Server import GUI_Interface

def close_func():
    os.kill(os.getpid(), signal.SIGINT)
    GUI_Interface()
    window.destroy()
    server_socket.close()

if __name__ == "__main__":
    exit_button = Button(topFrame, text='Quit', command=close_func)

GUI_Interface 是我需要在关闭现有 .py 文件后调用的函数。如果我将 GUI_Interface 作为 close_func() 的第一个命令,那么它实际上不会返回到第二步并且永远不会关闭现有的 .py 文件。

如果我把 GUI_Interface 放在最后,它只会关闭现有的文件,而不会打开新的 .py 文件的功能。

编辑:-

尝试实施给定的解决方案,但它只是挂起主要和次要 Tkinter window:_

  path_to_dir = os.getcwd()
  print("path of file:;:\n", path_to_dir)
  file_name = 'Backup_Server.py'  

  def close_func():
       os.system(f'cd "{path_to_dir}"')
       os.system(f'python {file_name}')
       exit()

  exit_button = Button(topFrame, text='Quit', command=close_func)

这是我根据给定的解决方案实施的。

所以我做了一些编码并提出了这个相当有趣的解决方案(当然应该在 windows 上工作,不知道其他操作系统):

import os

path_to_dir = os.getcwd()
file_name = 'to_run_file.py'


def close():
    os.system(f'cd "{path_to_dir}"')
    os.system(f'python {file_name}')
    exit()


close()

所以基本上发生的事情是首先你得到你想要 运行 的文件所在目录的路径(如果在另一个子目录中添加到路径)然后你还指定 "to_run_file.py" 这是您将 运行 然后 cmd 完成剩下的工作,您可以退出当前进程。但是我只建议将一个函数导入文件并运行在当前文件中使用该函数,只需停止您想要的进程并调用导入的函数

所以基本上我已经能够通过创建另一个线程 GUI_Interface 然后关闭现有文件来解决这个问题。