通俗的來說,sys.stdout的功能類似與C++里面的文件輸出功能fPRintf。
接下來直接入正題,讓我們來看代碼:
>>> import sys>>> temp=sys.stdout>>> sys.stdout=open('E://pythonCode//1.txt','w') #注意是雙//>>> print 1,2,3 #1.txt中增加了這三個數(shù)字>>> sys.stdout.close() #關閉,有點類似fclose()
假若我們close而不進行輸出恢復,看看會有什么結果:
>>> print 1,2,3Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> print 1,2,3ValueError: I/O Operation on closed file
所以我們需要將sys.stdout進行恢復:
>>> sys.stdout=temp>>> print 1,2,31 2 3
順便說一下,sys.stdout.flush() 可以讓數(shù)據(jù)被立即輸出,因為默認情況下,sys.stdout是被緩沖的。
類似的用法還有:
sys.stdin,sys.stderr.
新聞熱點
疑難解答