python - 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 - 用多组条形显示条形图的值
- oracle - 我找不到 PL/SQL 中触发器变异的解决方案
- gitlab - 如果链接到我的 Google 帐户,我的 Gitlab 密码是什么?
- elasticsearch - 我想将 Elasticsearch 中的重复值合并为一个,并使用不同的过滤器查看结果
- angular - 在 Azure 上部署的 Angular 在所有路由上提供 404
- python - 无法在 F3 运算符搜索中找到自定义 Blender 运算符(Blender 2.9)
- javascript - 在 Django 中将项目从一个列表动态移动到另一个列表
- java - 在 RecyclerView 中,在 OnBindViewHolder 方法中
- python - 加快 DataFrame .mask() 迭代
- node.js - npm install 错误并且无法更改根拥有文件的所有权