我正在尝试创建一个GUI。我需要在GUI处于活动状态时执行另一个python脚本。 (GUI应该处理来自此执行的数据)因为我使用Tkinter创建了GUI,所以我无法在python终端中执行另一个文件。
我该如何解决这个问题?
答案 0 :(得分:1)
您无需启动其他解释程序。
您只需在separte线程或进程中执行其他脚本中的代码即可。
您希望您的“其他”脚本可以从其他脚本调用。要做到这一点,你只需要一个能够完成脚本用途的功能。
#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()