python 如何重定向輸出

2021-09-20 21:19:44 字數 961 閱讀 6247

在windows和linux終端中,可以用>>>符號將程式輸出重定向到檔案中,那麼在程式內部是否也可以執行相應操作呢?

python使用三個io檔案流來管理標準輸入、輸出和錯誤輸出,分別是sys.stdinsys.stdoutsys.stderr

所以,我們要做的僅僅是改變變數的值為目標檔案流,就可以把輸出重定向了。

import sys

file

=open

('c:\\test.txt'

,'w'

)sys.stdout =

file

print

('hello world!'

)file

.close(

)

執行完這段**,檔案c:\test.txt就會被建立,內容為hello world!

當然,如果想要將重定向還原,只需要儲存原來的sys.stdout,最後將原來的值賦回去即可

import sys

file

=open

('c:\\test.txt'

,'w'

)oldstdout = sys.stdout

sys.stdout =

file

print

('hello world!'

)file

.close(

)sys.stdout = oldstdout

print

('hello world!'

)

這樣你還能在控制台中看到hello world!的輸出

python輸出重定向

由於考慮到將命令列程式轉成ui程式,原先在命令列中直接輸出的資訊必須輸出到特定介面中,考慮到應該有重定向的功能,baidu了一下,比較簡單,實現 如下,可以先重定向到某個變數,再將其重定向系統並列印出來。usr bin env python coding utf 8 import sys 定義標準輸...

輸入重定向,正確輸出重定向,錯誤輸出重定向

一 標準輸入 stdin a.輸入重定向 標準輸入 作用 將原先鍵盤輸入的內容改由檔案內容代替 root wenwen cat test.txt asdas asdas asdas 按crtl d 退出 將network內容匯入到test.txt中去 root wenwen cat test.txt...

python重定向作用 Python重定向不起作用

你有兩個問題 你總是在開頭寫乙個content type頭,加上額外的換行符。您現在已完成所有標題,無法再新增更多。在 當你正在重定向時,只寫這些標題。location頭僅用於重定向,即乙個狀態為30x的http響應。您需要新增乙個status 頭,以向web伺服器發出訊號,以非200狀態響應。調整...