首页 > Python教程 > Python应用 > python开发:配置文件写入过程的代码解析

python开发:配置文件写入过程的代码解析

时间:2019-10-20    作者:鲲鹏展翅高飞   来源:互联网

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

当我进行读写操作时,发现

# 读取配置文件
import ConfigParser
config = ConfigParser.ConfigParser()
config.readfp(open('GloVar.ini'))
a = config.get("CoarseAdjust","MD5")
print a

# 写入配置文件
import ConfigParser
config = ConfigParser.ConfigParser()
# set a number of parameters
config.add_section("CoarseAdjust")
config.set("CoarseAdjust", "xperangle", "1000")
config.set("CoarseAdjust", "yperangle", "500")

发现配置文件中的内容并没有发生改变,为什么?

上面的这种修改方式只是修改了python中内存的值,并没有对配置文件的内容进行修改,并真实地写入

真正地修改方式应该是

"""修改并保存在配置文件中"""
# coding:utf-8
import configparser

# 创建管理对象
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 模块需要注意的是

  • 不能区分大小写。
  • 重新写入的配置文件不能保留原有配置文件的注释。
  • 重新写入的配置文件不能保持原有的顺序。
  • 不支持嵌套。
  • 不支持格式校验

以上就是本文的全部内容,希望对大家的学习有所帮助

相关推荐
幸运大转盘游戏规则直营网
分享:Django Admin中增加导出CSV功能过程详解
Python教程:面向对象之Web静态服务器

精彩推荐

热门教程

网站地图 申博游戏网 67彩注册直营网 67彩网站直营网
申搏官网游戏 新沙龙国际娱乐登入 申博登陆网址 申博快速充值即时到账
菲律宾娱乐场所 澳门太阳城登入不了登入 qq彩票登入 申博app登入
万家彩票是否正规的直营网 手机彩票网下载直营网 568专业彩票注册直营网 568专业彩票平台直营网
万家游戏直营网 67彩开户直营网 幸运彩票网多久成立的直营网 专业彩票走势图直营网
38csb.com 518sunbet.com qk138.com 899BBIN.COM 195sun.com
588XTD.COM DC815.COM 195PT.COM 8DTS.COM 38csb.com
S618W.COM 967SUN.COM 6666XSB.COM S618Z.COM 788TGP.COM
717sj.com 788XTD.COM 231SUN.COM 555xsb.com 787XTD.COM