2
我有一个小的shell脚本在我的python文件中的字符串。
现在我想通过subprocess.call()
运行这个脚本,我想知道什么是最好的方法。如何从python运行内联shell脚本?
我首先想到的是剧本写一个StringIO
,并指定经stdin=...
可惜你不能指定一个StringIO
,因为它没有一个fileno()
方法。
当然,我可以使用stdin=subprocess.PIPE
,然后使用subprocess.communicate()
写入它,但我不知道是否有一个更简单的方法。
谢谢,这解决了我的问题。我之前尝试过,但显然我复制和粘贴失败,因此我的bash脚本有错误。 – ThiefMaster 2012-01-27 20:12:13
为记录,'subprocess.Popen(['sh'],stdin = subprocess.PIPE).communicate(脚本)'也可以,但是你输了stdin。 – nosklo 2012-01-30 20:47:17