【Python】ini解析ERROR:没有实例属性‘__getintem__’

发布时间 2023-04-04 17:22:36作者: hayden_william

abaqus python 搭配ini 时,出现AttributeError: ConfigParser instance has no attribute 'getitem'
20230404 edit

情况

img

错误代码:

from ConfigParser import ConfigParser
conf = ConfigParser()  
conf.read(IniFilePath) 
layupFile=conf['DampCal']['layupTXT']

解决手段

检查abaqus python2.7 的标准库目录:

G:\SIMULIA\EstProducts\2020\win_b64\tools\SMApy\python2.7\Lib

找到configparser对应的.py文件:

img

用editplus 打开后发现,模块中似乎并没有提供conf['DampCal']['layupTXT']格式的读取方法,因而可以需要修改原python代码。采用conf.get(section, option, raw=False, vars=None)的方法读取ini文件数据
img

最后,代码正常读取ini文件数据:
修改后的代码:

from ConfigParser import *
conf = ConfigParser()  
conf.read(IniFilePath) 
layupFile=conf.get('DampCal','layupTXT')