退出主 .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 然后关闭现有文件来解决这个问题。
我创建了 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 然后关闭现有文件来解决这个问题。