1.python中文亂碼解決
① 錯誤:syntaxerror: non-ascii character '\xe9' in file
② 解決:加上# -*- coding: utf-8 -*-,**如下:
# -*- coding: utf-8 -*-
'中文亂碼'
2.修改系統模組(sys)的編碼格式
2.1.方式一:
# -*- coding: utf-8 -*-
#匯入系統模組庫
import
sysreload
(sys)
#初始化執行環境為utf-8,否則姓名中文輸出報錯
sys.setdefaultencoding(
'utf-8'
)#輸出系統編碼格式
sys.getdefaultencoding()
因為setdefaultencoding函式在被系統呼叫後被刪除了,所以通過
import
引用進來時其實已經沒有了,
所以必須reload一次
sys模組,這樣
setdefaultencoding
才會為可用,才能在**裡修改直譯器當前的字元編碼。
在python安裝目錄的
lib資料夾下,有乙個叫
site.py
的檔案,
在裡面可以找到main() --> setencoding()-->sys.setdefaultencoding(encoding),
因為這個site.py每次啟動
python
直譯器時會自動載入,
所以main函式每次都會被執行,
setdefaultencoding
函式一出來就已經被刪除了
原始碼如下:
2.2.方式二
① 可以在python安裝目錄下的
lib/site-packages
目錄中,新建乙個
sitecustomize.py
檔案(建在這裡,每次啟動
python
的時候設定將自動生效),內容如下:
import sys
sys.setdefaultencoding('utf-8') #set default encoding to utf-8
② 再直接執行以下**
# -*- coding: utf-8 -*-
#匯入系統模組庫
import
sys#輸出系統編碼格式
sys.getdefaultencoding()
備註:第二部分修改系統模組的編碼格式的一系列設定並不是必需的,只在檔案頭加上# -*- coding: utf-8 -*-,不對sys進行setdefaultencoding 也不會出現亂碼情況,只是為了更加熟悉sys模組。
python 亂碼轉碼 Python解決亂碼問題
解決python亂碼問題 字串在python的內部採用unicode的編碼方式,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼 decode 成unicode,再從unicode編碼 encode 成另一種編碼。編碼是一種用二進位制資料表示抽象字元的方式,utf...
datetime以及sys模組
相比time來說,datetime模組介面更直觀,更容易呼叫 方法 類 描述datetime.date 表示日期 類 常用屬性year,month,day datetime.time 表示時間 類 常用屬性hour,minute,second,microsecond datetime.datetim...
python 亂碼解決
方法一 直接引入sys,設定全域性編碼,有時候不太好用。import sys reload sys sys.setdefaultencoding utf 8 方法二 讀取檔案到時候,decode設定一下編碼,有時候不太好用。with open d test.html rb as f html f.r...