天天看點

Python讀取配置檔案中文亂碼問題讀取配置dbconfig.ini(含有中文)顯示亂碼的解決方法

讀取配置dbconfig.ini(含有中文)顯示亂碼的解決方法

一、原因

Python 3 中雖有encoding 參數,但是對于有BOM(如Windows下用記事本指定為utf-8)的檔案,需要使用 utf-8-sig, 使用utf-8沒辦法。

二、解決方案

具體應用:

def readconfig(type,name):
    cf = configparser.ConfigParser()
    # file_path = os.path.dirname(os.getcwd()) + '/config/config.ini'
    parpath=os.path.abspath('.')  #擷取目前目錄
    parpath=os.path.dirname(parpath) #擷取目前目錄的上級目錄
    configPath = parpath + '\\config\\config.ini'#拼接查詢對應目錄
#上面三個可以合成這一個
    #configPath = os.path.dirname(os.path.abspath('.')) + '\\config\\config.ini'
    # 讀取配置檔案(此處是utf-8-sig,而不是utf-8),這裡主要解決讀取配置檔案中文亂碼問題
    cf.read(configPath ,encoding="utf-8-sig")
    #擷取配置檔案中BrowserName對應的值
    configval = cf.get(type,name)
    #print(configval)
    return configval