本文目錄一覽:
- 1、python cv2 read出錯是因為什麼?
- 2、pathlib2 中文路徑出錯
- 3、如何解決Python中文問題
- 4、python讀取csv文件時,數據內容含有中文,讀取出錯,怎麼辦
- 5、請問,python打開中文字元文件,但顯示不出中文怎麼辦
- 6、python讀取中文目錄出現亂碼
python cv2 read出錯是因為什麼?
python cv2 read出錯的原因:
1、路徑(path)中含有中文,會導致讀取失敗,如:「圖片熊貓1.png」,
應修改文件夾與文件名稱為英文如:「picturepanda1.png」,網上說也可用unicode編碼str,我試了好多種,沒有效果,最好還是直接改成英文。
2、windows下分級目錄間隔符「」是python中的轉義符,在字元串中使用單「」,導致路徑並不正確,應該使用「」,取消轉義。即picturepanda1.png
3、查看後綴「.png」,”.jpg”等是否帶上,沒有帶上也會報錯
更多Python知識請關注Python自學網。
pathlib2 中文路徑出錯
編碼問題可能導致python讀取中文路徑時出錯,使python讀取中文路徑失敗
解決方法一:路徑拆分單獨編碼
方法二:對全部路徑用unicode格式編碼
1.choice_5_29_spyder.py 文件路徑不能有中文(導致莫名報錯,python 3環境下沒有報錯)
2.get_im_context.py 文件路徑中有中文導致只能run,不能debug(python 2環境下只能run不能debug)
如何解決Python中文問題
python的中文問題一直是困擾新手的頭疼問題,Python的發行版至今尚未包括任何中文支持模塊。當然,幾乎可以確定的是,在將來的版本中,python會徹底解決此問題,不用我們這麼麻煩了。 筆者使用的是2.5版本。Python的版本可以通過調用sys模塊的sys.version查看。在幾個月的學習中,主要遇到以下問題:
1. print列印中文的問題:
在編輯器中輸入一段測試代碼:
s=』測試』
print s
運行結果如下:
Non-ASCII character ‘\xb2’ in file c:\Documents and Settings\Administrator\桌面\2.py on line 1, but no encoding declared; see for details: 2.py, line 1, pos 0
原因是如果文件里有非ASCII字元,需要指定編碼聲明。把2.py文件的編碼重新改為utf-8,並加上編碼聲明:
# -*- coding: utf-8 -*-
s=』測試』
print s
運行後可以正確列印中文。
2.中文路徑的問題。
在D盤下保存一個名字為『中文.txt『的文件。運行如下測試代碼:
# -*- coding: utf-8 -*-
f=open(‘D:\\中文.txt’, ‘r’)
print f.read()
運行結果如下:
IOError: [Errno 2] No such file or directory: ‘D:\\\xe4\xb8\xad\xe6\x96\x87.txt’
字元串有很多的編碼,不同的系統和平台有各自的編碼 ,為了實現系統或平台之間的信息交互可能需要編碼轉換。這裡只需要先使用UNICODE編碼一下,這樣再讀取中文路徑就不會有問題了:
複製代碼
# -*- coding: utf-8 -*-
path=’D:\\中文.txt’
spath=unicode(path , “utf8”)
f=open(spath,’r’)
print f.read()
複製代碼
然後就可以正確顯示文件內容
總結:
所有的中文顯示問題都可以歸結為編碼問題,遇到其他類似的問題,那隻能仔細看文檔,靠你的經驗,靠你多做測試。而且根據python所報出來的錯誤一般也可以判斷出來。那麼當發現需要編碼轉換時,剩下的就是如何正確進行碼制轉換。
為了正確處理多語言文本,Python在2.0版後引入了Unicode字元串。從那時起,Python語言中的字元串就分為兩種:一種是2.0版之前就已經使用很久的傳統Python字元串,一種則是新的Unicode字元串。在Python語言中,一般的解決辦法是使用unicode()內建函數對一個傳統Python字元串進行「解碼」,得到一個Unicode字元串,然後又通過Unicode字元串的encode()方法對這個Unicode字元串進行「編碼」,將其「編碼」成為傳統Python字元串。
python讀取csv文件時,數據內容含有中文,讀取出錯,怎麼辦
估計是亂碼造成,需要在讀取的py文件中指定編碼格式:
在文件開頭,設置成gbk格式import
os,sys,re,csv
reload(sys)
sys.setdefaultencoding(‘gbk’)
請問,python打開中文字元文件,但顯示不出中文怎麼辦
一般是編碼格式的問題,python內部默認的編碼格式是utf-8,常見的文本編碼格式是utf-8,gbk。編碼格式不不一致就會亂碼。可以在代碼前面申明編碼格式。
python讀取中文目錄出現亂碼
先對路徑進行unicode處理,然後再打開。舉例:
inpath = ‘E:\MyProject\SVN_Project\Drawingboard_local\model\mydata\input\production\示波器\0.htm’
uipath = unicode(inpath, “utf8”)
然後用”uipath”經過編碼後的路徑去open()即可:
fin = open(uipath)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283190.html