python 之sys.stdout小記

標準輸出(sys.stdout)——>print(打印)

標準輸入(sys.stdin)——>input(接收輸入)

標準錯誤輸出和標準輸出類似也是print(打印)。


python最基本的操作 - 打印:

print 1

其效果是把 1 寫在console(命令行)裏面讓你看。

也可以理解爲:把console(命令行)作爲一個板子,通過sys.stdout = console指定往console板子上寫東西(console是默認的,也就是說你不修改要往哪兒寫的話,就會默認往這寫),在print 1的時候,就是告訴python,我要寫1,然後python就會去sys.stdout所指定的板子裏,也就是console(命令行)裏寫上 1。

(標準錯誤輸出也是同樣的過程,你會發現當程序出錯時,錯誤信息也會打印在console裏面。)

 

其實只要一個對象具有write方法,就可以被當作“板子”,告訴sys.stdout去哪裏寫。

說道write方法,第一個想到的可能就是文件操作了。

f=open('log.txt','w')

想上面那樣聲明一個文件對象 f,此文件對象就擁有了write方法,就可以被用來當作標準輸出和保準錯誤輸出的板子。


f=open('log.txt','w')
__console__ = sys.stdout    #把默認的“板子” - 命令行做個備份,以便可以改回來

sys.stdout = f
print 1

sys.stdout = __console__    #恢復
print 2


 

上面的操作,通過sys.stdout = f 指定打印時的板子改成了 f。所以在使用print的時候,不再是把1打印在命令行裏,而是寫在了log.txt文件裏面。

後面又把板子改成了命令行,此時print 2就又把2打印到命令行了



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章