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)對這些字符轉義:
json_data = json_data.replace('/r', '//r').replace('/n', '//n')(2)使用關鍵字strict:
json.loads(json_data, strict=False)
strict默認是True,它將嚴格控制內部字符串,將其設置為False,便可以允許你/n /r。
2、UnicodeEncodeError: ascii codec can't encode錯誤
在windows下寫的python腳本,放到linux下運行,直接報:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128)
import sys reload(sys) sys.setdefaultencoding('utf8')(2)一勞永逸:
在Python的lib/site-packages文件夾下新建一個sitecustomize.py,內容如下:
# encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')這樣的話,系統(tǒng)在Python啟動的時候,自行調用該文件,設置系統(tǒng)的默認編碼。
新聞熱點
疑難解答
圖片精選