在使用ftplib 套件開發Python FTP 用戶端時,您可能會遇到套件中某些函數缺少字串輸出的情況而是印到標準輸出(stdout)。為了解決這個挑戰,將 stdout 重新導向到可以方便讀取的物件就變得必要。
雖然透過 open() 進行基於檔案的重定向是一種選擇,但不利用本機磁碟機的替代方法是更有效率。 Java 的 BufferedReader 提供了一個將緩衝區包裝到流中的有價值的範例。
要在Python 中實現類似的功能,請採用以下方法:
from cStringIO import StringIO # Python3 use: from io import StringIO import sys old_stdout = sys.stdout sys.stdout = mystdout = StringIO() # Execute code that would normally print to stdout ... sys.stdout = old_stdout # Obtain the captured output as a string from mystdout.getvalue()
透過將stdout 重定向到StringIO 實例,您可以在需要時以字串形式擷取和檢索輸出。該技術提供了更大的靈活性,並且無需外部文件的參與。
以上是如何將 Python 的標準輸出重定向到字串緩衝區?的詳細內容。更多資訊請關注PHP中文網其他相關文章!