首頁 >後端開發 >Python教學 >如何從 os.popen 遷移到 subprocess.popen() 來執行指令?

如何從 os.popen 遷移到 subprocess.popen() 來執行指令?

Linda Hamilton
Linda Hamilton原創
2024-10-26 07:56:02958瀏覽

How to Migrate from os.popen to subprocess.popen() for Executing a Command?

如何在Python 中從os.popen 遷移到subprocess.popen()

問題:

鑑於os.popen 已被棄用,如何將以下指令轉換為subprocess.popen():

os.popen('swfdump /tmp/filename.swf/ -d')

答案:

To將指令轉換為subprocess.popen(),請依照以下步驟操作:

  1. 建立參數清單: subprocess.Popen 將參數清單作為輸入,其中第一個參數是指令名稱。
  2. 對 stdout 和 stderr 使用 PIPE: stdout 和 stderr 參數分別指定輸出流和錯誤流重新導向到何處。使用 PIPE 允許我們捕獲輸出。
  3. 與子程序通訊:communicate() 方法讀取並傳回捕獲的輸出和錯誤流。

以下程式碼片段示範了轉換:

<code class="python">from subprocess import Popen, PIPE

process = Popen(['swfdump', '/tmp/filename.swf', '-d'], stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()</code>

附加說明:

子流程os.popen 遷移」的專用部分,其中提供了詳細資訊從os.popen 轉換到子進程的指南。

以上是如何從 os.popen 遷移到 subprocess.popen() 來執行指令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn