我正在尝试创建一个 GUI。我需要在 GUI 处于活动状态时执行另一个 python 脚本。(GUI 应该处理来自此执行的数据)因为我使用 Tkinter 创建了 GUI,所以我无法在 python 终端中执行另一个文件。
我怎么解决这个问题?
我正在尝试创建一个 GUI。我需要在 GUI 处于活动状态时执行另一个 python 脚本。(GUI 应该处理来自此执行的数据)因为我使用 Tkinter 创建了 GUI,所以我无法在 python 终端中执行另一个文件。
我怎么解决这个问题?
您不需要启动另一个解释器。
您可以简单地在单独的线程或进程中执行来自其他脚本的代码。
您希望您的“其他”脚本可以从另一个脚本调用。为此,您只需要一个函数来执行您的脚本曾经执行的操作。
#other.py
def main(arg1, arg2, arg3):
do_stuff(arg1, arg2)
more_stuff(arg2, arg3)
other_stuff(arg1, arg3)
finish_stuff(arg1, arg2, arg3)
在您的主脚本中,当您想要执行代码时other.py
,请启动一个新线程:
#script.py
from threading import Thread
from other import main
thread = Thread(target = main)
thread.start() # This code will execute in parallel to the current code
要检查您的工作是否已完成,请使用thread.is_alive()
. 要阻止直到完成,请使用thread.join()