Python GUI 使用 os.system 到 运行 python 脚本导致主 GUI "Not Responding"

Python GUI using os.system to run python script cause main GUI "Not Responding"

Whosebug 社区。 我正在编写一个 python GUI 来监视 OSX 环境中另一个程序的数据,有一次我决定单击一个按钮打开我编写的另一个 python 脚本。它确实有效,但一旦我单击按钮,它也会导致主 GUI 程序出现滞后问题。对于滞后问题,我的意思是 GUI window 是 "Not Responding",我需要强制退出。我使用 运行 新脚本的方法是

def create_html():
os.system('python realtime.py')

我的程序没有多重 class 结构,只有简单的 canvas 和框架。我想知道这是否也是导致我的程序 运行ning 变慢的问题。

问题是您正在使用 os.system,这是一个阻塞调用。它不会 return 控制您的主代码,直到 python realtime.py 完成执行并 returned.

您需要使用不会阻塞程序其余部分的调用,例如 subprocess.Popen

您还可以查看 this QA 了解更多信息