Python 3.x中的編碼和解碼問題
阿新 • • 發佈:2019-01-09
最近在極客學院學習爬蟲,老師用的是2.x版本,而我電腦裡的版本是3.x,於是在網頁上查詢在輸出中文時如何正確輸出。
我原以為2.x 3.x在很多語法上沒什麼區別,在解碼decode上應該也差不多,沒想到竟然發現,很多部落格提到2.x提出的解決方案
python 2.x解碼
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8’)
在3.x中reload在imp包內,並且setdefaultencoding這個屬性並不存在,因為3.x更先進了,請看>>點我。
文章說python 3.x不用那麼費心去編碼,所以在解碼上多做一步。
於是,如果想讀取本地檔案。需要這樣:
python 3.x讀取檔案
# -- coding: utf-8 --
f = open(r’…\text.txt’, ‘rb’) # rb是讀
html = f.read().decode()
#print(html)
f.close()
這樣就可以讀取中文了。
python 3.x寫入檔案
# -- coding: utf-8 --
f = open(r’…\text2.txt’, ‘wb’) # wb是寫入
html = f.write(‘我們’.encode())
f.close()
這樣就可以寫入檔案了。
哦也,好開心,雖然只是一個小問題被解決了。