為什麼python指令碼中使用中文會報錯解決方法已知

2021-06-28 17:14:15 字數 1565 閱讀 7194

1樓:匿名使用者

專門花了一下午,總結了python 2.x中,常見的編碼解碼方面的錯誤。

更主要的是,先給你解釋清楚了背後的邏輯

然後再給你解釋,錯誤的現象,現象背後的原因,以及如何解決,並且教你如何舉一反三等等。

此處只把幾種最常見的問題的原因給你摘錄過來:

python中,想要將某字串解碼為對應的unicode,但是所使用的編碼型別和字串本身的編碼不匹配

python中,列印字串時,字串本身的編碼,與輸出終端中所用編碼不匹配

python中,列印含某些特殊字元的unicode型別字串,但是輸出終端中字元編碼集中不包含這些特殊字元

詳細帖子內容,參見:

【總結】python 2.x中常見字元編碼和解碼方面的錯誤及其解決辦法

不能說我總結的是最全的,但是可以說,在這個特定問題上,比我把問題解釋的更清楚的,目前沒看到。

另外,還有一個相關的帖子:

【整理】python中字元編碼的總結和對比:python 2.x的str和unicode vs python 3.x的bytes和str

關於這部分內容,之前也是沒有看到解釋的清楚的,所以自己花時間,把其解釋的儘可能的清楚。不瞭解的人,可以去看看。

(此處不能貼地址,請自行用google搜帖子標題,就可以找到帖子地址了)

2樓:

gdk或utf-8,還能什麼原因,你不加這段,python無法識別中文,所以就報錯

3樓:小米飛貓

開頭添上針對不同平臺的中文編碼。

一般linux下用

# -*- coding: utf-8 -*-windows下gbk

# -*- coding: gbk -*-

4樓:love戕

這個我不知道,不好意思

在python中,同一程式的輸出,為什麼有的中文是亂碼,有的卻可以很好的顯示?

5樓:牛乃茴

在有中文的字串前加上u,譬如這裡用到print u' '.

是中文編碼的問題。建議在idle中加入#coding:utf-8 顯式指定編碼,若是抓取網頁,可以按需求encode() decode()

6樓:丶小四灬灬

#!/usr/bin/env python # -*- coding: utf-8 -*-

在檔案頭加上

您好 python用open開啟檔案 其中路徑有中文應該怎麼解決 自己搞不太明白 謝謝大神了:)

7樓:匿名使用者

指令碼開頭加上下面這句:

# -*- coding: utf-8 -*-這句用於定義python的預設編碼格

式。若**或註釋中含中文,

版python會使用unicode編碼格式,這樣權會報錯。

所以,python程式設計時最好習慣性地加上這句編碼格式的宣告。

8樓:匿名使用者

最傻瓜的,你新建個專用來寫**的英文資料夾不就好了。

怎樣在ecel中使用python指令碼

datanitro bai 1 怎樣在 duexcel中使 用zhi 如何通過html來執行python指令碼?按照你的需求,來乙個是要 自做個書籍搜尋引擎,這 bai簡單,自己建好書du籍的資料庫,用 django 的orm,根zhi據dao關鍵字模糊查詢,前端隨便用個非同步的庫,發請求非同步與後...

python中使用map()和直接使用list()有啥不一樣

python2 區別不大,python3 map 返回的是迭代器。filter 是過濾器,你提供乙個方法判斷,它就把符合這個方法的資料過濾出來 map 是對映,你提供一種轉換方式,它將遍歷列表或者元祖或者別的什麼資料按照這種轉換方式全部轉換。引數中有函式時,map更快,而且在很多場合map會更靈活 ...

for迴圈的python指令碼程式中如何加入多程序 併發進

簡單的如下 from multiprocessing import process def ps i print str i def run for i in range 5 if name main run 什麼意思呢?如果你是在要在迴圈體內建立多程序,每迴圈一次便增加一個程序,那麼只需要把建立多...