django想讀取入庫的nginx配置,然后寫入到配置文件中

代碼
出現(xiàn)報(bào)錯(cuò):
'ascii' codec can't encode
代碼邏輯應(yīng)該沒什么問題,斷點(diǎn)打印能獲取顯示配置內(nèi)容,所以定位問題在寫入配置文件時(shí)候出錯(cuò),應(yīng)該就是編碼問題了。Unicode編碼與ASCII編碼的不兼容,其實(shí)這個(gè)Python腳本文件是由utf-8編碼的,同時(shí)mysql數(shù)據(jù)庫存取的也是UTF-8格式,字符串在Python內(nèi)部的表示是unicode編碼基本上是ascii編碼方式,由此Python自然調(diào)用ascii編碼解碼程序去處理字符流,當(dāng)字符流不屬于ascii范圍內(nèi),就會(huì)拋出異常(ordinal not in range(128))。
解決:
加入3行代碼
import sys
reload(sys)
sys.setdefaultencoding('utf-8')