將控制台輸出重新導向到檔案
在Python 中,將stdout 串流重新導向至檔案允許開發人員擷取並儲存列印輸出。為了實現這一點,可以操作 sys.stdout 屬性。但是,最近報告了一個問題,原始問題中概述的方法無法產生所需的輸出。
問題解決
問題在於不正確的列印時使用 file= 參數。在 Python 3.x 及更高版本中,正確的語法是 print('Filename:', filename, file=f)。對於 Python 2.x,使用 print >> f, '檔名:', 檔名。
或者,可以使用 with 語句更簡潔地重新導向 stdout:
with open('output.txt', 'w') as f: with redirect_stdout(f): print('Filename:', filename)
其他方法
除了使用sys.stdout之外,還有其他方法可以重新導向輸出:
使用檔案對象:直接寫入檔案對象,如下所示:
with open('out.txt', 'w') as f: print('Filename:', filename, file=f)
外部Shell重定向: 使用> shell 中的運算子用於重定向輸出:
./script.py > out.txt
故障排除
在提供提供。的腳本中,確保:
改善結果
使用更正的語法和文件對象,預期輸出將是:
Filename: ERR001268.bam Readlines finished! Mean: 233 SD: 10 Interval is: (213, 252)
此更新版本的腳本捕獲輸出並將其重定向到output .txt 檔案。
以上是如何將控制台輸出重新導向到 Python 中的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!