導航:首頁 > 編程語言 > python編碼出錯

python編碼出錯

發布時間:2022-10-25 11:54:49

A. python3爆編碼錯誤

python3默認內碼是UTF-8,不能設置為其他默認格式,文件需要保存成UTF-8格式。
操作系統默認字元環境是GBK的話,就需要手動轉換,輸入需要str.encode('UTF-8')轉換,輸出需要str.encode('GBK')轉換。主要是操作系統的問題,如果操作系統是採用UTF-8編碼的,就沒有這個問題。

B. python在print的時候出現編碼錯誤

這個是由於ide(你的是pycharm?)的默認編碼沒對,修改為utf-8就可以了(自己找在哪改,不是代碼里改)

C. linux python運行報編碼錯誤

一次重啟伺服器後,supervisor接管的python腳本中的函數 open() 和 print() 都會報下面的編碼錯誤:
UnicodeEncodeError: 'ascii' codec can't encode

使用的是python3,按理說編碼都會默認utf-8,而且本地運行的python腳本並沒有這個問題。

經大佬指點,增加環境變數 export LC_ALL="en_US.UTF-8" 後,再重啟supervisor,問題解決

下面是復制的: https://www.cnblogs.com/badboy200800/p/11215981.html

Locale是一個軟體在運行時的語言環境,。是根據計算機用戶所使用的語言,所在國家或者地區,以及當地的文化傳統所定義的。它包括語言(Language), 地域 (Territory) 和字元集(Codeset)。

一個locale的書寫格式為: 語言[ 地域[.字元集]]。完全的locale表達方式是 [語言[ 地域][.字元集] [@修正值]。例如:

zh_CN.GB2312 => 中文_中華人民共和國+國標2312字元集。

(1)locale把按照所涉及到的文化傳統的各個方面分成12個大類

(2)查看標准字元集列表

常用字元集:en_US.utf8、zh_CN.gb2312、zh_CN.gbk、zh_CN.utf8等

3.Locale的設定

LC_ALL和LANG優先順序的關系:LC_ALL > LC_* >LANG
(1)如果需要一個純中文的系統的話,設定LC_ALL= zh_CN.XXXX即可。或者設定LANG=zh_CN.XXXX也可以,但是LC_ 不要有任何特殊設定才可以(因為LC_ 優先順序高)。
(2)如果需要個性化的環境,例如只想要一個可以輸入中文的環境,而保持菜單、標題,系統信息等等為英文界面,那麼只需要設定LANG=en_US.XXXX,然後 LC_CTYPE=zh_CN.XXXX就可以了。
(3)假如什麼也不做的話,也就是LC_ALL,LANG和LC_*均不指定特定值的話,系統將採用POSIX作為lcoale,也就是C locale。

4.查看與設定字元集實踐

(1)查看當前系統字元集三種方式(LC_ALL、LC_CTYPE和LANG),以查看LANG為例:

(2)更改系統字元集

備註:直接執行上述命令,可以臨時修改系統字元集。如果寫入環境變數可以永久改變字元集。

(3)取消當前系統字元集(設定為空)

備註:直接執行上述命令,可以臨時修改系統字元集。如果寫入環境變數可以永久改變字元集。

D. python輸出到文件亂碼如何解決

python代碼文件的編碼
py文件默認是ASCII編碼,中文在顯示時會做一個ASCII到系統默認編碼的轉換,這時就會出錯:SyntaxError: Non-ASCII character。需要在代碼文件的第一行或第二行添加編碼指示:
1 # coding=utf-8 ##以utf-8編碼儲存中文字元
2 print '中文'
像上面那樣直接輸入的字元串是按照代碼文件的編碼來處理的,如果用unicode編碼,有以下三種方式:
1 s1 = u'中文' #u表示用unicode編碼方式儲存信息
2 s2 = unicode('中文','gbk')
unicode是一個內置函數,第二個參數指示源字元串的編碼格式。
decode是任何字元串具有的方法,將字元串轉換成unicode格式,參數指示源字元串的編碼格式。
encode也是任何字元串具有的方法,將字元串轉換成參數指定的格式。
(2)、字元串的編碼
用 u'漢字' 構造出來的是unicode類型,不用的話構造出來是str類型
str的編碼是與系統環境相關的,一般就是sys.getfilesystemencoding()得到的值
所以從unicode轉str,要用encode方法
從str轉unicode,所以要用decode
例如:
# coding=utf-8 #默認編碼格式為utf-8
s = u'中文' #unicode編碼的文字
print s.encode('utf-8') #轉換成utf-8格式輸出
但當python中間處理非ASCII編碼時,經常會出現如下錯誤:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
0x??是超出128的數字,python在默認的情況下認為語言的編碼是ascii編碼,所以無法處理其他編碼,需要設置python的默認編碼為所需要的編碼。
一個解決的方案是在代碼中添加:
import sys
reload(sys)
sys.setdefaultencoding('utf-8') (其中utf-8為你想輸出的字元編碼)
解釋:
sys.setdefaultencoding方法在python導入site.py後就刪除了(具體代碼查看site.py就可以看到)因此如果想用的話可以再重新load進入
總結:
u=u'unicode編碼文字'
g=u.encode('gbk') #轉換為gbk格式
print g #此時為亂碼,因為當前環境為utf-8,gbk編碼文字為亂碼
str=g.decode('gbk').encode('utf-8') #以gbk編碼格式讀取g(因為他就是gbk編碼的,需要事先知道它是GBK編碼)並轉換為utf-8格式輸出
print str #正常顯示中文(同文件輸出)
安全的方法:
s.decode('gbk','ignore').encode('utf-8′) #以gbk編碼讀取(當然是讀取gbk編碼格式的文字了)並忽略錯誤的編碼,轉換成utf-8編碼輸出。
推薦學習《Python教程》!

E. python2錯誤怎麼回事

代碼的問題。

python異常,表示運行時出現了錯誤,圖中的錯誤為:讀取文件時,已經遇到了文件結尾而無法讀取,這種情況需要程序編寫額外的代碼來處理。

代碼:

python2要用raw_input()而不是input()

(5)python編碼出錯擴展閱讀:

python Traceback (most recent call last) 錯誤信息

Traceback (most recent call last):

File "XXX.py", line 13, in <mole>

f3('0')

File "XXX.py", line 12, in f3

return f2(s)+1

File "XXX.py", line 8, in f2

return f1(s)+1

File "XXX.py", line 4, in f1

return 1 / int(s)

ZeroDivisionError: division by zero

解讀錯誤信息就可以定位錯誤。

Traceback (most recent call last):

這是錯誤的跟蹤信息。

File "XXX.py", line 13, in <mole>

f3('0')

調用f3()出錯了,錯誤出現在文件XXX.py的第13行代碼,錯誤來源第9行:

File "XXX.py", line 12, in f3

return f2(s)+1

調用f2()出錯了,錯誤出現在文件XXX.py的第12行代碼,錯誤來源第8行:

File "XXX.py", line 8, in f2

return f1(s)+1

調用f1()出錯了,錯誤出現在文件XXX.py的第8行代碼,錯誤來源第4行:

File "XXX.py", line 4, in f1

return 1 / int(s)

return 1 / int(s)出錯了,找到了錯誤的源頭。

ZeroDivisionError: division by zero

這是錯誤類型。

F. python3讀文件編碼錯誤怎麼辦

在python3中系統默認編碼是unicode,讀取文件經常會編碼錯誤導致報錯。


  1. 首先先確認要讀取文件的編碼,可這樣操作:

記事本打開文本文件,點擊「文件」-「另存為」查看編碼:

importcodecs
f=codecs.open(r"test.txt","r","gbk")
print(f.read())
f.close()

(示例的文件是ANSI所以使用GBK讀取)

以上就可以正確讀取想要的文件了

G. python讀取文件遇到編碼錯誤

首先確定你的python版本是2 還是 3
然後把主要讀文件和顯示的代碼貼一下

閱讀全文

與python編碼出錯相關的資料

熱點內容
皓強工具解壓步驟 瀏覽:690
部隊抗洪搶險命令範文 瀏覽:888
歐姆龍plc編程軟體使用教程 瀏覽:592
ai文件pdf 瀏覽:911
騰訊雲伺服器掛載混合雲 瀏覽:758
智能小車用什麼單片機 瀏覽:463
java怎麼給窗口關閉 瀏覽:940
列舉51單片機的定址方式 瀏覽:706
剪輯app怎麼寫長篇文字 瀏覽:400
app專屬流量過月租怎麼不更新 瀏覽:654
王者程序員都有誰 瀏覽:76
給牛換腳掌解壓 瀏覽:387
圍棋有多少種演算法 瀏覽:602
unity資源包在哪個文件夾 瀏覽:704
阿里雲伺服器遠程鏈接不成功 瀏覽:482
文件系統pdf 瀏覽:767
原神安卓區服什麼意思 瀏覽:38
貝殼app怎麼線上發布 瀏覽:161
如何挑選安卓系統機頂盒 瀏覽:55
安卓快充使用有什麼注意事項 瀏覽:911