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

Thi*_*ter 3 python bash

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

我的第一个想法是将脚本写入a StringIO并指定via,stdin=...但不幸的是你不能指定a,StringIO因为它没有fileno()方法.

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

nos*_*klo 6

import subprocess

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

subprocess.call(['sh', '-c', script])
Run Code Online (Sandbox Code Playgroud)