在windows和linux終端中,可以用>
和>>
符號將程式輸出重定向到檔案中,那麼在程式內部是否也可以執行相應操作呢?
python
使用三個io
檔案流來管理標準輸入、輸出和錯誤輸出,分別是sys.stdin
、sys.stdout
和sys.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狀態響應。調整...