首页 > 解决方案 > Python 脚本在使用 IF 语句调用子进程后自行终止

问题描述

我正在开发基于 GUI 的学习管理器,当用户单击按钮时,脚本会打开一个包含数学练习 repo 的 chrome 窗口。该脚本运行良好,但单击按钮后,它会自行终止。GUI 是通过 PySimpleGUI 创建的。

这是代码的布局部分,包含按钮:

layout = [[sg.Text('Your typed chars appear here:')],
          [sg.Text('It. Lit. pages', size=(15, 1)), sg.Input(key='str_ITLP')],
          [sg.Text('MAT quiz pages', size=(15, 1)), sg.Input(key='str_MATQ')],
          [sg.Text('Math exercises', size=(15, 1)), sg.Input(key='str_MATH')],
          [sg.Button('Show'), sg.Button('Exit'), sg.Button('Maths exercise repo')]]
window = sg.Window('Pattern 2B', layout)

这是子流程代码:

if event == 'Maths exercises repo':
        sp = subprocess.Popen([CHROME, 'url'], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

我需要做的是脚本继续运行(即 GUI 不只是在打开 chrome 时自行核弹),以便我可以继续使用脚本的其他功能。

PS 是的,考虑到 chrome实际运行,子进程和 chrome 路径都在脚本中导入。

PPS 我是一个绝对的Python 初学者,这实际上是我的第一个脚本,所以请对我的代码表示怜悯。

标签: python

解决方案


推荐阅读