背景
最近將公司jenkins的一臺windows節(jié)點(diǎn)機(jī),python有2.XX升到3.XX,之前寫的python腳本運(yùn)行就出錯(cuò)了善榛,總結(jié)下這個(gè)過程中遇到的一些問題。
對于 Python 2.X:
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
對于 <= Python 3.3:
import imp
imp.reload(sys)
注意:
- Python 3 與 Python 2 有很大的區(qū)別呻畸,其中Python 3 系統(tǒng)默認(rèn)使用的就是utf-8編碼移盆。
- 所以,對于使用的是Python 3 的情況伤为,就不需要sys.setdefaultencoding("utf-8")這段代碼咒循。
- 最重要的是,Python 3 的 sys 庫里面已經(jīng)沒有 setdefaultencoding() 函數(shù)了
對于 >= Python 3.4:
import importlib
importlib.reload(sys)
參考網(wǎng)站:
Reloading module giving NameError: name ‘reload’ is not defined
http://stackoverflow.com/questions/961162/reloading-module-giving-nameerror-name-reload-is-not-defined