我對Python很陌生,試圖找到一種方法來設置幾個shell env變量,然後執行一個shell腳本。設置Env變量並從Python腳本運行Shell腳本
subprocess
模塊能夠發送多個shell命令並捕獲輸出嗎?
這對我來說並不清楚,因爲每個spawn都會導致一個新的shell線程不會有以前的env變量。
此外,使用popen
或check_output
是否合適?
基本上我想要做的是:
$ setenv a b
$ setenv c d
$ setenv e f
$ check_status.sh > log.log
$ grep "pattern" log.log
凡check_status.sh
必須定義才能正常運行上面的ENV變量,它也必須是shell腳本(即我無法翻譯check_status.sh
到蟒蛇)。
我會感謝您的意見和輸入。
@favoretti還沒有嘗試過,只是想辦法。也沒有尋找代碼解決方案,只是你的想法問題陳述。 –
@favoretti雖然[「與另一個命令交互」](http://pymotw.com/2/subprocess/)部分似乎很有趣。 –
你見過這個嗎? http://stackoverflow.com/questions/5971312/how-to-set-environment-variables-in-python?請注意,它表示子進程自動繼承設置值,所以簡短答案是肯定的,這是可能的。 :) – favoretti