我的python文件中的字符串中有一个小的shell脚本
现在我想通过subprocess.call()
运行这个脚本,我想知道最好的方法是什么。
我的第一个想法是将脚本写入StringIO
并通过stdin=...
指定,但遗憾的是,您无法指定StringIO
,因为它没有fileno()
方法
当然我可以使用stdin=subprocess.PIPE
然后使用subprocess.communicate()
写入它但我想知道是否有更简单的方法。
答案 0 :(得分:5)
import subprocess
script = """
for x in 1 2 3 ; do echo $x ; sleep 1 ; done
"""
subprocess.call(['sh', '-c', script])