據python文檔http://docs.python.org/library/subprocess.html,建議與POPEN類取代os.popen,現在我有以下命令:os.popen命令轉換爲subprocess.Popen實例
import os
c = "openssl dgst -sha1 -sign /foo/1 /bar/1 | openssl enc -base64 -A"
my_value = os.popen(c).read()
我明白Popen將命令作爲字符串參數的列表,當我嘗試傳遞管道(「|」)時,它會如何中斷,我也明白這是由於「|」在bash中有一個特殊的含義,如何不知道如何解決這個問題。
另一個問題是Popen實例沒有read
方法,所以我不確定以什麼方式查看輸出。
我正在使用Django Framework,所以如果在框架中還有一個函數可能會幫助也是一個選項。
是否有一些文件爲什麼'os.popen'應該被替換?上面的代碼看起來比簡單的'os.popen'調用更復雜。 – 2015-05-18 17:50:05