Python處理JSON時的值報錯及編碼報錯的兩則解決實錄
1、ValueError: Invalid control character at: line 1 column 8363 (char 8362)
使用json.loads(json_data)時,出現(xiàn):
ValueError: Invalid control character at: line 1 column 8363 (char 8362)
出現(xiàn)錯誤的原因是字符串中包含了回車符(\r)或者換行符(\n)
解決方法:
(1)對這些字符轉(zhuǎn)義:
json_data = json_data.replace('\r', '\\r').replace('\n', '\\n')
(2)使用關(guān)鍵字strict:
json.loads(json_data, strict=False)
strict默認(rèn)是True,它將嚴(yán)格控制內(nèi)部字符串,將其設(shè)置為False,便可以允許你\n \r。
2、UnicodeEncodeError: ascii codec can't encode錯誤
在windows下寫的python腳本,放到linux下運(yùn)行,直接報:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128)
解決方法:
(1)臨時解決方法:
在代碼前加入:
import sys reload(sys) sys.setdefaultencoding('utf8')
(2)一勞永逸:
在Python的lib\site-packages文件夾下新建一個sitecustomize.py,內(nèi)容如下:
# encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')
這樣的話,系統(tǒng)在Python啟動的時候,自行調(diào)用該文件,設(shè)置系統(tǒng)的默認(rèn)編碼。
相關(guān)文章
Numpy?數(shù)據(jù)處理?ndarray使用詳解
這篇文章主要為大家介紹了Numpy?數(shù)據(jù)處理?ndarray使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08PyCharm使用matplotlib報MatplotlibDeprecationWarning問題解決辦法
這篇文章主要給大家介紹了關(guān)于PyCharm使用matplotlib報MatplotlibDeprecationWarning問題解決的相關(guān)資料,主要是 matplotlib版本過高導(dǎo)致的,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06Python+Pygame實戰(zhàn)之實現(xiàn)小蜜蜂歷險記游戲
這篇文章主要為大家介紹了如何利用Python中的Pygame模塊實現(xiàn)小蜜蜂歷險記游戲,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python游戲開發(fā)有一定幫助,需要的可以參考一下2022-08-08使用Python實現(xiàn)全攝像頭拍照與鍵盤輸入監(jiān)聽功能
這篇文章主要介紹了使用Python實現(xiàn)全攝像頭拍照與鍵盤輸入監(jiān)聽功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08解決pytorch load huge dataset(大數(shù)據(jù)加載)
這篇文章主要介紹了解決pytorch load huge dataset(大數(shù)據(jù)加載)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05