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