【Python】讀取配置文件報錯UnicodeDecodeError: 'gbk' codec can't decode


錯誤如下:

UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 91: illegal multibyte sequence

配置文件如下:

# Flask對象配置
[app]
FLASK_CONFIG=production
SECRET_KEY=secret string

# 線上環境
[production]
DATABASE_URL=mysql+mysqlconnector://XXXX:XXXX@10.2.1.92/autotest?charset=utf8

python代碼如下:

from configparser import RawConfigParser basedir = os.path.abspath(os.path.dirname(__file__)) cfgpath = os.path.join(basedir, 'config.ini') print(cfgpath) cf = RawConfigParser() cf.read(cfgpath) a=cf.get('production', 'DATABASE_URL') print(a) 

解決辦法: 

cf.read(cfgpath,encoding='utf-8')

修改之后,可以正常讀取配置文件了

mysql+mysqlconnector://XXXX:XXXX@10.2.1.92/autotest?charset=utf8

 

參考文檔:

使用包configparser,出現UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 155: illegal mu


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM