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 相关文章推荐
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
Mar 13 Python
python验证码识别的示例代码
Sep 21 Python
详解Python循环作用域与闭包
Mar 21 Python
python如何以表格形式打印输出的方法示例
Jun 21 Python
python实现kNN算法识别手写体数字的示例代码
Aug 16 Python
Python实现结构体代码实例
Feb 10 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
Feb 21 Python
python异步Web框架sanic的实现
Apr 27 Python
使用pyplot.matshow()函数添加绘图标题
Jun 16 Python
Python学习之time模块的基本使用
Jan 17 Python
matplotlib之属性组合包(cycler)的使用
Feb 24 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采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
vue选项卡切换登录方式小案例
2019/09/27 Javascript
Windows上node.js的多版本管理工具用法实例分析
2019/11/06 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
python中reload(module)的用法示例详解
2017/09/15 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
python3实现基于用户的协同过滤
2018/05/31 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
10张动图学会python循环与递归问题
2021/02/06 Python
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
教育技术学专业职业规划书
2014/03/03 职场文书
个人投资计划书
2014/05/01 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
领导干部学习心得体会
2016/01/23 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
Jedis操作Redis实现模拟验证码发送功能
2021/09/25 Redis
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL