python亂碼解決以及sys編碼格式

2021-08-09 11:15:51 字數 1582 閱讀 1640

1.python中文亂碼解決

① 錯誤:syntaxerror: non-ascii character '\xe9' in file

② 解決:加上# -*- coding: utf-8 -*-,**如下:

# -*- coding: utf-8 -*-

print

'中文亂碼'

2.修改系統模組(sys)的編碼格式

2.1.方式一:

# -*- coding: utf-8 -*-

#匯入系統模組庫

import

sysreload

(sys)

#初始化執行環境為utf-8,否則姓名中文輸出報錯

sys.setdefaultencoding(

'utf-8'

)#輸出系統編碼格式

print

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#輸出系統編碼格式

print

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...