Python如何設(shè)置utf-8為默認(rèn)編碼的問題
Python設(shè)置utf-8為默認(rèn)編碼
python默認(rèn)的編碼是ASCII,通過sys.getdefaultencoding()可以查看默認(rèn)編碼。
當(dāng)程序中出現(xiàn)非asc編碼時,python的處理常常會有亂碼的錯誤,一般有如下幾種方法:
代碼臨時更改
import sys
reload(sys)
sys.setdefaultencoding('utf8') 只在程序執(zhí)行時臨時生效,系統(tǒng)默認(rèn)編碼并沒有改變。
此時如果還有編碼錯誤 ,需要用到encode(‘utf-8’),將字符串顯式聲明編碼。
字符串.encode('utf-8')目錄文件更改
創(chuàng)建一個叫 sitecustomize.py的文件,因?yàn)閜ython在啟動的時候會去加載這個文件,如果要修改一些啟動的變量就可以把操作寫在這個文件。
- 第一步:
在python安裝目錄的Lib\site-packages文件夾下新建一個sitecustomize.py文件
- 第二步:
在sitecustomize.py填寫如下代碼
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8') python2.7永久地將默認(rèn)編碼設(shè)置為utf-8
網(wǎng)上推薦了兩種方法
- 第一個方法<不推薦>:
編輯site.py, 修改setencoding()函數(shù), 強(qiáng)制設(shè)置為 utf-8
- 第二個方法<推薦>:
增加一個名為 sitecustomize.py, 推薦存放的路徑為 site-packages 目錄下
sitecustomize.py 是在 site.py 被import 執(zhí)行的,因?yàn)?sys.setdefaultencoding() 是在 site.py 的結(jié)尾處被刪除的,所以,可以在 sitecustomize.py 使用 sys.setdefaultencoding().
#file name: sitecustomize.py import sys sys.setdefaultencoding(‘utf-8')
既然 sitecustomize.py 能被自動加載, 所以除了設(shè)置編碼外, 也可以設(shè)置一些其他的東西.
實(shí)踐
- python2.7 sys.setdefaultencoding()報錯,說不存在setdefaultencoding
- 但是這個問題大多數(shù)在python3 中拋出
- 把site.py 中的del setdefaultencoding的代碼注釋了任然無效
- 最后直接修改site.py 中setencoding()函數(shù)的encoding=‘utf-8’
- 重啟程序,歐克,不再報編碼問題
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Linux命令行中運(yùn)行Python腳本的流程步驟
Python是一種高級編程語言,被廣泛應(yīng)用于數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、Web 開發(fā)等領(lǐng)域,在Linux操作系統(tǒng)中,Python是一個默認(rèn)安裝的解釋器,用戶可以通過命令行界面(CLI)來運(yùn)行Python腳本,在本文中,我們將詳細(xì)介紹如何在Linux命令行中運(yùn)行Python腳本,需要的朋友可以參考下2023-11-11
Python進(jìn)階之使用selenium爬取淘寶商品信息功能示例
這篇文章主要介紹了Python進(jìn)階之使用selenium爬取淘寶商品信息功能,結(jié)合實(shí)例形式詳細(xì)分析了Python使用selenium與requests模塊爬取淘寶商品信息的相關(guān)操作技巧,需要的朋友可以參考下2019-09-09
Python 把序列轉(zhuǎn)換為元組的函數(shù)tuple方法
今天小編就為大家分享一篇Python 把序列轉(zhuǎn)換為元組的函數(shù)tuple方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
使用python調(diào)用瀏覽器并打開一個網(wǎng)址的例子
這篇文章主要介紹了使用python調(diào)用瀏覽器并打開一個網(wǎng)址的例子,使用webbrowser模塊實(shí)現(xiàn),需要的朋友可以參考下2014-06-06

