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

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

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樓:匿名使用者

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

python中函式引數列表中使用的冒號是幹什麼用的

python函式的引數類似於c 中的形參,傳遞的只是引數的拷貝。而函式的預設引數也會被儲存為一個變數,並且是全域性靜態變數。python中函式引數列表中使用的 冒號是幹什麼用的 函式引數中的冒號是引數的型別建議 符,告訴程式設計師希望傳入的實參的型別。函式後回面跟著的箭頭是函式答返回值的型別建議符,...

html中呼叫python指令碼,如何通過html來執行python指令碼

最常用的復是用jquery的制ajax功能是 function serialgen 當然是不行的,指令碼執行需要有 直譯器的。也就是 例如 win平臺下的 python.exe 檔案。你可以使用web頁面,將檔案上傳到伺服器,然後在伺服器執行指令碼並將處理結果,返回到客戶端。如何通過html來執行p...

Python中pandas執行指令碼時出來報錯,Setting

你的 df 7 是由origin df 篩選後生成的,這一步的時候沒有加 copy 在操作下一步df 7 timestamp pd.to datetime df timestamp copy 時 pandas 無法保證你操作的是 內df 7,因為在 容沒有加 copy 的情況下df 7 有可能是or...