讀代碼的過程中看到的,好奇搜索了一下,其實當在我們調試別人Python代碼的過程中經常會遇到一些問題,比如版本不同,代碼也會有所改變,比如print函數 Python 2.7版本為 print “ ” ,Python3.0以上版本為print (“ ”) 有沒有什么解決方法呢。
Python 3.x引入了一些與Python 2不兼容的關鍵字和特性,在Python 2中,可以通過內置的__future__模塊導入這些新內容。如果你希望在Python 2環境下寫的代碼也可以在Python 3.x中運行,那么建議使用__future__模塊。例如,如果希望在Python 2中擁有Python 3.x的整數除法行為,可以通過下面的語句導入相應的模塊。
以 from __future__ import print_function 為例:
- 這是 python 2 的概念,顯然 python 3 對於 python2 就是 future了
- 該句必須置於文件的頭部
指定 file 關鍵字參數,打印到文件流當然也可以是標准輸入輸出流
from __future__ import print_function import sys print('error happens!', file=sys.stderr)
這樣通過form_future_import模塊就可以使在Python2.7環境下的代碼也可以在Python3.0以上版本中運行了!
