python 写配置文件,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

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

# 读取配置文件

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 模块需要注意的是

不能区分大小写。

重新写入的配置文件不能保留原有配置文件的注释。

重新写入的配置文件不能保持原有的顺序。

不支持嵌套。

不支持格式校验

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值