python配置文件写入过程详解


Posted in Python onOctober 19, 2019

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中的格式化输出用法总结
Jul 28 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
Jan 11 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
详解如何设置Python环境变量?
May 13 Python
python opencv 图像拼接的实现方法
Jun 27 Python
Python列表删除元素del、pop()和remove()的区别小结
Sep 11 Python
Python爬虫爬取煎蛋网图片代码实例
Dec 16 Python
python装饰器代替set get方法实例
Dec 19 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 Python
Python 快速验证代理IP是否有效的方法实现
Jul 15 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 Python
python实现广度优先搜索过程解析
Oct 19 #Python
python字符串格式化方式解析
Oct 19 #Python
基于python3监控服务器状态进行邮件报警
Oct 19 #Python
使用python绘制温度变化雷达图
Oct 18 #Python
详解numpy矩阵的创建与数据类型
Oct 18 #Python
Python 3.6打包成EXE可执行程序的实现
Oct 18 #Python
详解pyinstaller selenium python3 chrome打包问题
Oct 18 #Python
You might like
sony ICF-2010 拆解与改装
2021/03/02 无线电
php中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
JS控制表格隔行变色
2006/06/26 Javascript
js取得url地址参数实例
2013/02/22 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
JavaScript之Object类型介绍
2015/04/01 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
js判断iframe中元素是否存在的实现代码
2016/12/24 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
python后端接收前端回传的文件方法
2019/01/02 Python
Python input函数使用实例解析
2019/11/22 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
护理专业学生的求职信范文
2013/12/11 职场文书
《胖乎乎的小手》教学反思
2014/02/26 职场文书
简单租房协议书
2014/04/09 职场文书
职位说明书范文
2014/05/07 职场文书
大学生就业求职信
2014/06/12 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
法律服务所工作总结
2015/08/10 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
Python还能这么玩之只用30行代码从excel提取个人值班表
2021/06/05 Python