標準輸出(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打印到命令行了