2013-07-05 30 views
0

下面是使用stdout模塊的示例。使用標準輸出時,爲什麼需要更改爲文件對象?

#redirect.py 

import sys 

f = open('t.txt', 'w')   
stdout = sys.stdout -----> first one 
sys.stdout = f  -----> second one 
print 'Sample output' 
print 'Good' 
print 'Good' 
f.close() 
sys.stdout = stdout -----> third one 

我不明白爲什麼上面這三件事的意義。

預先感謝=)

回答

1
print

簡單地按摩它的參數,然後調用sys.stdout.write()。替換sys.stdout可讓您捕獲print的輸出並重定向它。

+0

你能解釋第一個還是第三個? – nextdoordoc

+0

嗯,保存並恢復原始值。 –

+0

對不起,但你能詳細解釋一下嗎?我想知道爲什麼要保存和恢復sys.stdout以及這個上下文中的原始值是什麼?非常感謝:) – nextdoordoc

相關問題