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中处理unchecked未捕获异常实例
Jan 17 Python
详解关于Django中ORM数据库迁移的配置
Oct 08 Python
python3 property装饰器实现原理与用法示例
May 15 Python
django框架使用orm实现批量更新数据的方法
Jun 21 Python
python 将字符串中的数字相加求和的实现
Jul 18 Python
Django rstful登陆认证并检查session是否过期代码实例
Aug 13 Python
Python如何计算语句执行时间
Nov 22 Python
Flask和pyecharts实现动态数据可视化
Feb 26 Python
jupyter note 实现将数据保存为word
Apr 14 Python
Python OpenCV去除字母后面的杂线操作
Jul 05 Python
python regex库实例用法总结
Jan 03 Python
粗暴解决CUDA out of memory的问题
May 22 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
谈谈PHP语法(3)
2006/10/09 PHP
PHP学习笔记之二 php入门知识
2011/01/12 PHP
laravel自定义分页效果
2017/07/23 PHP
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
JS清除IE浏览器缓存的方法
2013/07/26 Javascript
js闭包的用途详解
2014/11/09 Javascript
javascript实现树形菜单的方法
2015/07/17 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
2015/12/20 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
JavaScript实现页面无操作倒计时退出
2016/10/22 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
2018/01/22 jQuery
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
Vue仿Bibibili首页的问题
2021/01/21 Vue.js
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python中print函数简单使用总结
2019/08/05 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
django rest framework serializers序列化实例
2020/05/13 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
Java servlet面试题
2012/03/04 面试题
管理科学大学生求职信
2013/11/13 职场文书
股指期货心得体会
2014/09/10 职场文书
个人汇报材料范文
2014/12/30 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
党员公开承诺书2016
2016/03/24 职场文书
python多线程方法详解
2022/01/18 Python
Redis实现订单过期删除的方法步骤
2022/06/05 Redis