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的id()函数介绍
Feb 10 Python
Python pass详细介绍及实例代码
Nov 24 Python
开源软件包和环境管理系统Anaconda的安装使用
Sep 04 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
Feb 01 Python
python保存文件方法小结
Jul 27 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 Python
centos 安装Python3 及对应的pip教程详解
Jun 28 Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 Python
Django单元测试中Fixtures用法详解
Feb 25 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
OpenCV-Python直方图均衡化实现图像去雾
Jun 07 Python
Python Django ORM连表正反操作技巧
Jun 13 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
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
jquery ztree实现下拉树形框使用到了json数据
2014/05/14 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
js 数据存储和DOM编程
2017/02/09 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
axios使用拦截器统一处理所有的http请求的方法
2018/11/02 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
2020/06/10 Javascript
利用python代码写的12306订票代码
2015/12/20 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
python实现Adapter模式实例代码
2018/02/09 Python
Python 编程速成(推荐)
2019/04/15 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
python如何将两个txt文件内容合并
2019/10/18 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
2020/06/05 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
python求解汉诺塔游戏
2020/07/09 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
用python读取xlsx文件
2020/12/17 Python
C#面试问题
2016/07/29 面试题
会计系毕业个人自荐信格式
2013/09/23 职场文书
大学生学习生活的自我评价
2013/11/01 职场文书
春季防火方案
2014/05/10 职场文书
文明单位申报材料
2014/12/23 职场文书
作文之亲情600字
2019/09/23 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技
使用scrapy实现增量式爬取方式
2022/06/21 Python