python - 从 Python 运行 bash 脚本

标签 python linux bash

我需要从 Python 运行 bash 脚本。我让它按如下方式工作:

import os
os.system("xterm -hold -e scipt.sh")

这不完全是我在做的,但几乎是我的想法。这工作正常,一个新的终端窗口打开,我为了调试目的保留它,但我的问题是我需要 python 脚本继续运行,即使它没有完成。我有什么办法可以做到这一点吗?

最佳答案

我推荐你使用subprocess模块:docs

你可以

import subprocess

cmd = "xterm -hold -e scipt.sh"
# no block, it start a sub process.
p = subprocess.Popen(cmd , shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# and you can block util the cmd execute finish
p.wait()
# or stdout, stderr = p.communicate()

有关更多信息,请阅读文档,:)。

编辑拼写错误

关于python - 从 Python 运行 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20415522/

相关文章:

python - 在满足x个条件后播放音频(Python-Pygame)

python - 仅打印字符串中的元音字母

python - Django error_messages{} 的解释?

python - 脚本通过 IDLE 运行时找到必要的文件,但通过终端运行时找不到该文件

java -/usr/bin/time 是否包括 java 程序的程序后垃圾收集?

linux - awk 中的用户定义变量

arrays - jq 输出空字符串时 bash readarray -t 数组赋值的问题

java - 我该如何用java编写这个方法?

linux - 如何测试变量是否是 bash 中的字符串?

Python - Docker客户端连接中的tlsv1警报协议(protocol)版本错误