如何从python运行内联shell脚本?

时间:2012-01-27 20:01:26

标签: python bash

我的python文件中的字符串中有一个小的shell脚本 现在我想通过subprocess.call()运行这个脚本,我想知道最好的方法是什么。

我的第一个想法是将脚本写入StringIO并通过stdin=...指定,但遗憾的是,您无法指定StringIO,因为它没有fileno()方法

当然我可以使用stdin=subprocess.PIPE然后使用subprocess.communicate()写入它但我想知道是否有更简单的方法。

1 个答案:

答案 0 :(得分:5)

import subprocess

script = """
for x in 1 2 3 ; do echo $x ; sleep 1 ; done
"""

subprocess.call(['sh', '-c', script])