python - 从 python3 启动应用程序然后继续其他代码

标签 python python-3.x subprocess os.system

我需要解决的问题是如何从 python3 启动程序,从而将控制权传递回 python 脚本以执行其他操作。我已经尝试过 os.system 和 subprocess.call

import subprocess, os
os.system('gedit&')
subprocess.call(['gedit','&'])

两者似乎都在等待 gedit,从某种意义上说,它正在等待来自 gedit 的某种流。如果我在终端输入 gedit & ,我会在 python 之外得到所需的效果。

最佳答案

使用subprocess.Popen:

subprocess.Popen(['gedit'])

subprocess.call 本质上执行了上面的代码,但随后在结果对象上调用 communicate,该对象等待它退出。既然您不想等待,您可以调用communicate,进程就会被创建,让您的进程继续愉快地运行。

关于python - 从 python3 启动应用程序然后继续其他代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24114559/

相关文章:

python - 在不安装模块的情况下从 Python 2.4 运行 MySQL 查询 (MySQLdb)

python - 在 Python 2.5 及更低版本上创建不使用 shell 的可执行进程

python - 使用 Python 发布到 google 表单问题

python - 如何从 TSV 文件转换为 JSON 文件?

python-3.x - Python3 日志 yaml 配置

python - 子进程调用错误,无效应用程序

python - Pandas 百分比差异计算

python - 在 OpenCV Python 中编写超过 4 个 channel 的图像

python - 如何在日期时间设置为索引时获取以前的值

python - 在 IPython 中安装 conda 包