0

我正在尝试创建一个 GUI。我需要在 GUI 处于活动状态时执行另一个 python 脚本。(GUI 应该处理来自此执行的数据)因为我使用 Tkinter 创建了 GUI,所以我无法在 python 终端中执行另一个文件。

我怎么解决这个问题?

4

1 回答 1

1

您不需要启动另一个解释器。

您可以简单地在单独的线程或进程中执行来自其他脚本的代码。


重构你的“其他”脚本

您希望您的“其他”脚本可以从另一个脚本调用。为此,您只需要一个函数来执行您的脚本曾经执行的操作。

#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()

于 2013-03-09T19:55:57.513 回答