逐行串流傳輸子進程輸出
處理透過Python 中的子程序呼叫的雜訊Linux 實用程式時,有效地將輸出捕獲到日誌檔案並將其顯示給使用者可能具有挑戰性。
問題:
最初,Python 腳本嘗試使用以下程式碼擷取子程式輸出:
但是,這種方法沒有表現出所需的流輸出行行為:線。相反,只有在產生大量資料後才會出現輸出。
解決方案:
問題在於對 proc.stdout 中的行使用迭代器,它預先讀取整個輸出。為了解決這個問題,應該使用 readline() 來取代:
透過此修改,現在可以根據需要逐行串流輸出。
緩衝注意事項:
需要注意的是,子程序仍可能緩衝輸出。為了解決這個問題,可能需要刷新方法或其他技術來確保及時顯示輸出。
以上是如何在 Python 中逐行傳輸子程序輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!