ConfigParser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: "%&'" 解決方案
阿新 • • 發佈:2018-12-12
前言
在寫python程式讀取配置檔案的時候,遇到了一個錯誤,記錄下解決方案。
錯誤如下:
ConfigParser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: "%&'"
程式碼詳情
讀取read_ini.ini時由於我的ini檔案中內容如下:
# 不同ip作為key值,不同命令作為value值 [cmd] 10.10.111.1 = cd $(locate taskmngdomain1/nohuplogs) ; tail -50 *log*`date +%F`* 10.10.111.2 = cd $(locate taskmngdomain2/nohuplogs) ; tail -50 *log*`date +%F`*
import configparser
cf= configparser.ConfigParser()
cf.read('read_ini.ini')
ip_128 = cf.get('cmd','10.10.111.1')
當代碼執行到 ip_128 = cf.get(‘cmd’,‘10.10.111.1’)這行,丟擲了ConfigParser.InterpolationSyntaxError: ‘%’ must be followed by ‘%’ or ‘(’, found: "%&’"的錯誤。 大致意思是,因為ini的內容中包含了%號這種特殊符號。
解決方案
換一種方式進行讀取配置檔案 原本程式碼:cf= configparser.ConfigParser()
替換成: cf = configparser.RawConfigParser()
import configparser
cf = configparser.RawConfigParser()
cf.read('read_ini.ini')
ip_128 = cf.get('cmd','10.10.111.1')
報錯解決!