python配置文件写入过程详解
python配置文件有.conf,.ini,.txt等多种
python集成的标准库的ConfigParser模块提供一套API来读取和操作配置文件
我的配置文件如下
[MOTOR] comnum=3 baud=19200 m1slowstep=10 m1faststep=100 m1origin=5 m2slowstep=10 m2faststep=50 m2origin=5 [CoarseAdjust] standardx=0.000000 standardy=0.000000 xperangle=500 yperangle=160 xmotor=1 xmotororien=-1 ymotor=2 ymotororien=1 triggermode=1 triggertimeout=1 autoadjust=1 [FineAdjust] countdown=10 datfilepath=E:\Mcs05\DatTemp\ xfinestep=10 yfinestep=10 mcsfilepath=E:\Mcs05\WHTest\ filetype=Mcs nastartaltitude=80 naendaltitude=111 rayleighstartaltitude=20 rayleighendaltitude=60 fineadjustfilepath=E:\Mcs05\ methodselect=01 [EASYMCS] chname=WHTest prefixion=R mcstheshold=1.4 numofbins=2048 binwidth=640 numofpluse=30 mcs32path=D:\software\MCS32\ mcs32filepath=E:\Mcs05\ [GYRO] comno=15 baud=9600
当我进行读写操作时,发现
#读取配置文件 importConfigParser config=ConfigParser.ConfigParser() config.readfp(open('GloVar.ini')) a=config.get("CoarseAdjust","MD5") printa #写入配置文件 importConfigParser config=ConfigParser.ConfigParser() #setanumberofparameters config.add_section("CoarseAdjust") config.set("CoarseAdjust","xperangle","1000") config.set("CoarseAdjust","yperangle","500")
发现配置文件中的内容并没有发生改变,为什么?
上面的这种修改方式只是修改了python中内存的值,并没有对配置文件的内容进行修改,并真实地写入
真正地修改方式应该是
"""修改并保存在配置文件中""" #coding:utf-8 importconfigparser #创建管理对象 conf=configparser.ConfigParser() conf.read('GloVar.ini',encoding='utf-8') print(conf.sections()) #往section添加key和value conf.set("CoarseAdjust","xPerAngle","{}".format(500)) conf.set("CoarseAdjust","yPerAngle","160") items=conf.items('CoarseAdjust') print(items)#list里面对象是元祖 conf.write(open('GloVar.ini',"r+",encoding="utf-8"))#r+模式
ConfigParser模块需要注意的是
- 不能区分大小写。
- 重新写入的配置文件不能保留原有配置文件的注释。
- 重新写入的配置文件不能保持原有的顺序。
- 不支持嵌套。
- 不支持格式校验
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。